当前页面:
在线文档首页 >
JBoss 4.0.1 sp1 j2ee API Documentation 英文版文档
WebUserDataPermission (JBoss J2EE API) - JBoss 4.0.1 sp1 j2ee API Documentation 英文版文档
javax.security.jacc
Class WebUserDataPermission
java.lang.Object
java.security.Permission
javax.security.jacc.WebUserDataPermission
- All Implemented Interfaces:
- Guard, Serializable
- public final class WebUserDataPermission
- extends Permission
- implements Serializable
Class for Servlet Web user data permissions. A WebUserDataPermission is a
named permission and has actions.
The name of a WebUserDataPermission (also referred to as the target name)
identifies a Web resource by its context path relative URL pattern.
- Version:
- $Revision: 1.5.4.1 $
- Author:
- Scott.Stark@jboss.org, Ron Monzillo, Gary Ellison (javadoc)
- See Also:
- Serialized Form
Constructor Summary |
WebUserDataPermission(javax.servlet.http.HttpServletRequest request)
Creates a new WebUserDataPermission from the HttpServletRequest object. |
WebUserDataPermission(String name,
String actions)
Creates a new WebUserDataPermission with the specified name and actions. |
WebUserDataPermission(String urlPatternSpec,
String[] httpMethods,
String transportType)
Creates a new WebUserDataPermission with name corresponding to the
URLPatternSpec, and actions composed from the array of HTTP methods and
the transport type. |
Method Summary |
boolean |
equals(Object p)
Checks two WebUserDataPermission objects for equality. |
String |
getActions()
Returns a canonical String representation of the actions of this
WebUserDataPermission. |
int |
hashCode()
Returns the hash code value for this WebUserDataPermission. |
boolean |
implies(Permission p)
Determines if the argument Permission is "implied by" this
WebUserDataPermission. |
WebUserDataPermission
public WebUserDataPermission(javax.servlet.http.HttpServletRequest request)
- Creates a new WebUserDataPermission from the HttpServletRequest object.
- Parameters:
request
- - the HttpServletRequest object corresponding to the
Servlet operation to which the permission pertains. The permission name is
the substring of the requestURI (HttpServletRequest.getRequestURI()) that
begins after the contextPath (HttpServletRequest.getContextPath()). When
the substring operation yields the string "/", the permission is
constructed with the empty string as its name. The HTTP method component
of the permission's actions is as obtained from HttpServletRequest.getMethod().
The TransportType component of the permission's actions is determined by
calling HttpServletRequest.isSecure().
WebUserDataPermission
public WebUserDataPermission(String name,
String actions)
- Creates a new WebUserDataPermission with the specified name and actions.
The name contains a URLPatternSpec that identifies the web resources to which
the permissions applies. The syntax of a URLPatternSpec is as follows:
URLPatternList ::= URLPattern | URLPatternList colon URLPattern
URLPatternSpec ::= null | URLPattern | URLPattern colon URLPatternList
A null URLPatternSpec is translated to the default URLPattern, "/", by the
permission constructor. The empty string is an exact URLPattern, and may
occur anywhere in a URLPatternSpec that an exact URLPattern may occur.
The first URLPattern in a URLPatternSpec may be any of the pattern types,
exact, path-prefix, extension, or default as defined in the Java Servlet
Specification). When a URLPatternSpec includes a URLPatternList, the
patterns of the URLPatternList identify the resources to which the
permission does NOT apply and depend on the pattern type and value of the
first pattern as follows:
- No pattern may exist in the URLPatternList that matches the first pattern.
- If the first pattern is a path-prefix pattern, only exact patterns matched
by the first pattern and path-prefix patterns matched by, but different from,
the first pattern may occur in the URLPatternList.
- If the first pattern is an extension pattern, only exact patterns that are
matched by the first pattern and path-prefix patterns may occur in the
URLPatternList.
- If the first pattern is the default pattern, "/", any pattern except the
default pattern may occur in the URLPatternList.
- If the first pattern is an exact pattern a URLPatternList must not be
present in the URLPatternSpec.
The actions parameter contains a comma separated list of HTTP methods that
may be followed by a transportType separated from the HTTP method by a colon.
HTTPMethod ::= "Get" | "POST" | "PUT" | "DELETE" | "HEAD" |
"OPTIONS" | "TRACE"
HTTPMethodList ::= HTTPMethod | HTTPMethodList comma HTTPMethod
HTTPMethodSpec ::= emptyString | HTTPMethodList
transportType ::= "INTEGRAL" | "CONFIDENTIAL" | "NONE"
actions ::= null | HTTPMethodSpec |
HTTPMethodSpec colon transportType
If duplicates occur in the HTTPMethodSpec they must be eliminated by the
permission constructor.
An empty string HTTPMethodSpec is a shorthand for a List containing all the
possible HTTP methods.
An actions string without a transportType is a shorthand for a actions string
with the value "NONE" as its TransportType.
A granted permission representing a transportType of "NONE", indicates that
the associated resources may be accessed using any conection type.
- Parameters:
name
- - the URLPatternSpec that identifies the application specific
web resources to which the permission pertains. All URLPatterns in the
URLPatternSpec are relative to the context path of the deployed web
application module, and the same URLPattern must not occur more than once
in a URLPatternSpec. A null URLPatternSpec is translated to the default
URLPattern, "/", by the permission constructor.actions
- - identifies the HTTP methods and transport type to which
the permission pertains. If the value passed through this parameter is
null or the empty string, then the permission is constructed with actions
corresponding to all the possible HTTP methods and transportType "NONE".
WebUserDataPermission
public WebUserDataPermission(String urlPatternSpec,
String[] httpMethods,
String transportType)
- Creates a new WebUserDataPermission with name corresponding to the
URLPatternSpec, and actions composed from the array of HTTP methods and
the transport type.
- Parameters:
urlPatternSpec
- - the URLPatternSpec that identifies the application
specific web resources to which the permission pertains. All URLPatterns
in the URLPatternSpec are relative to the context path of the deployed web
application module, and the same URLPattern must not occur more than once
in a URLPatternSpec. A null URLPatternSpec is translated to the default
URLPattern, "/", by the permission constructor.httpMethods
- - an array of strings each element of which contains
the value of an HTTP method. If the value passed through this parameter is
null or is an array with no elements, then the permission is constructed
with actions containing all the possible HTTP methods.transportType
- - a String whose value is a transportType. If the
value passed through this parameter is null, then the permission is
constructed with actions containing transportType "NONE".
equals
public boolean equals(Object p)
- Checks two WebUserDataPermission objects for equality. WebUserDataPermission
objects are equivalent if their URLPatternSpec and (canonicalized) actions
values are equivalent. The URLPatternSpec of a reference permission is
equivalent to that of an argument permission if their first patterns are
equivalent, and the patterns of the URLPatternList of the reference
permission collectively match exactly the same set of patterns as are
matched by the patterns of the URLPatternList of the argument permission.
- Parameters:
p
- - the WebUserDataPermission object being tested for equality.
- Returns:
- true if the argument WebUserDataPermission object is equivalent to
this, false otherwise.
getActions
public String getActions()
- Returns a canonical String representation of the actions of this
WebUserDataPermission. The canonical form of the actions of a
WebUserDataPermission is described by the following syntax description.
HTTPMethod ::= "Get" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "TRACE"
HTTPMethodList ::= HTTPMethod | HTTPMethodList comma HTTPMethod
HTTPMethodSpec ::= emptyString | HTTPMethodList
transportType ::= "INTEGRAL" | "CONFIDENTIAL" | "NONE"
actions ::= null | HTTPMethodList | HTTPMethodSpec colon transportType
If the permission's HTTP methods include the entire HTTP method set and
the permission's transport type is "INTEGRAL" or "CONFIDENTIAL", the HTTP
methods shall be represented in the canonical form by an empty string
HTTPMethodSpec. If the permission's HTTP methods include the entire HTTP
method set and the permission's transport type is not "INTEGRAL"or
"CONFIDENTIAL", the canonical actions value shall be the null value. If
the permission's methods do not include the entire HTTP method set,
duplicates must be eliminated and the remaining elements must be sorted
into ascending lexical order. The resulting HTTPMethodList must be
included in the canonical form, and if the permission's transport type is
not "INTEGRAL" or "CONFIDENTIAL", the canonical actions value must be
exactly the resulting HTTPMethodList.
- Returns:
- a String containing the canonicalized actions of this
WebUserDataPermission (or the null value).
hashCode
public int hashCode()
- Returns the hash code value for this WebUserDataPermission. The properties
of the returned hash code must be as follows:
- During the lifetime of a Java application, the hashCode method shall
return the same integer value every time it is called on a
WebUserDataPermission object. The value returned by hashCode for a
particular EJBMethod permission need not remain consistent from one
execution of an application to another.
- If two WebUserDataPermission objects are equal according to the equals
method, then calling the hashCode method on each of the two Permission
objects must produce the same integer result (within an application).
- Returns:
- the int hash code.
implies
public boolean implies(Permission p)
- Determines if the argument Permission is "implied by" this
WebUserDataPermission. For this to be the case all of the following must
be true:
- The argument is an instanceof WebUserDataPermission.
- The first URLPattern in the name of the argument permission is matched
by the first URLPattern in the name of this permission.
- The first URLPattern in the name of the argument permission is NOT
matched by any URLPattern in the URLPatternList of the URLPatternSpec of
this permission.
- If the first URLPattern in the name of the argument permission matches
the first URLPattern in the URLPatternSpec of this permission, then every
URLPattern in the URLPatternList of the URLPatternSpec of this permission
is matched by a URLPattern in the URLPatternList of the argument
permission.
- The HTTP methods in the actions of the argument permission are a subset
of the HTTP methods in the actions of this permission.
- The transportType in the actions of this permission either corresponds
to the value "NONE", or equals the transportType in the actions of the
argument permission.
URLPattern matching is performed using the Servlet matching rules where
two URL patterns match if they are related as follows:
- their pattern values are String equivalent, or
- this pattern is the path-prefix pattern "/*", or
- this pattern is a path-prefix pattern (that is, it starts with "/" and
ends with "/*") and the argument pattern starts with the substring of this
pattern, minus its last 2 characters, and the next character of the
argument pattern, if there is one, is "/", or
- this pattern is an extension pattern (that is, it starts with "*.") and
the argument pattern ends with this pattern, or
- the reference pattern is the special default pattern, "/", which matches
all argument patterns.
All of the comparisons described above are case sensitive.
- Parameters:
p
- - the WebUserDataPermission to test
- Returns:
- true if this implies the argument permission
Copyright © 2002 JBoss Group, LLC. All Rights Reserved.