| java.lang.Object java.security.Permission javax.security.jacc.WebResourcePermission
WebResourcePermission | final public class WebResourcePermission extends Permission implements Serializable(Code) | | Class for Servlet web resource permissions. A WebResourcePermission is a
named permission and has actions.
The name of a WebResourcePermission (also referred to as the target name)
identifies the Web resources to which the permission pertains.
Implementations of this class MAY implement newPermissionCollection or
inherit its implementation from the super class.
author: Scott.Stark@jboss.org author: Ron Monzillo, Gary Ellison (javadoc) version: $Revision: 57196 $ |
Constructor Summary | |
public | WebResourcePermission(HttpServletRequest request) Creates a new WebResourcePermission from the HttpServletRequest object.
Parameters: request - - the HttpServletRequest object corresponding to theServlet operation to which the permission pertains. | public | WebResourcePermission(String name, String actions) Creates a new WebResourcePermission with the specified name and actions.
The name contains a URLPatternSpec that identifies the web resources to which
the permissions applies. | public | WebResourcePermission(String urlPatternSpec, String[] httpMethods) Creates a new WebResourcePermission with name corresponding to the
URLPatternSpec, and actions composed from the array of HTTP methods.
Parameters: urlPatternSpec - - the URLPatternSpec that identifies the appspecific web resources to which the permission pertains. |
WebResourcePermission | public WebResourcePermission(HttpServletRequest request)(Code) | | Creates a new WebResourcePermission from the HttpServletRequest object.
Parameters: request - - the HttpServletRequest object corresponding to theServlet operation to which the permission pertains. The permission name isthe substring of the requestURI (HttpServletRequest.getRequestURI()) thatbegins after the contextPath (HttpServletRequest.getContextPath()). Whenthe substring operation yields the string "/", the permission isconstructed with the empty string as its name. The permission's actionsfield is obtained from HttpServletRequest.getMethod(). |
WebResourcePermission | public WebResourcePermission(String name, String actions)(Code) | | Creates a new WebResourcePermission 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 seperated list of HTTP methods. The
syntax of the actions parameter is defined as follows:
HTTPMethod ::= "GET" | "POST" | "PUT" | "DELETE" | "HEAD" |
"OPTIONS" | "TRACE"
HTTPMethodList ::= HTTPMethod | HTTPMethodList comma HTTPMethod
HTTPMethodSpec ::= null | HTTPMethodList
If duplicates occur in the HTTPMethodSpec they must be eliminated by the
permission constructor.
A null or empty string HTTPMethodSpec indicates that the permission applies
to all HTTP methods at the resources identified by the URL pattern.
Parameters: name - - the URLPatternSpec that identifies the application specific webresources to which the permission pertains. All URLPatterns in theURLPatternSpec are relative to the context path of the deployed webapplication module, and the same URLPattern must not occur more than oncein a URLPatternSpec. A null URLPatternSpec is translated to the defaultURLPattern, "/", by the permission constructor. Parameters: actions - - identifies the HTTP methods to which the permissionpertains. If the value passed through this parameter is null or the emptystring, then the permission is constructed with actions corresponding toall the possible HTTP methods. |
WebResourcePermission | public WebResourcePermission(String urlPatternSpec, String[] httpMethods)(Code) | | Creates a new WebResourcePermission with name corresponding to the
URLPatternSpec, and actions composed from the array of HTTP methods.
Parameters: urlPatternSpec - - the URLPatternSpec that identifies the appspecific web resources to which the permission pertains. All URLPatternsin the URLPatternSpec are relative to the context path of the deployed webapplication module, and the same URLPattern must not occur more than oncein a URLPatternSpec. A null URLPatternSpec is translated to the defaultURLPattern, "/", by the permission constructor. Parameters: httpMethods - - an array of strings each element of which containsthe value of an HTTP method. If the value passed through this parameter isnull or is an array with no elements, then the permission is constructedwith actions corresponding to all the possible HTTP methods. |
canonicalMethods | static Object[] canonicalMethods(String methods)(Code) | | Parse the comma seperated http methods into a
Parameters: methods - |
equals | public boolean equals(Object p)(Code) | | Checks two WebResourcePermission objects for equality. WebResourcePermission
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 WebResourcePermission object being tested for equalitywith this WebResourcePermission. true if the argument WebResourcePermission object is equivalent tothis WebResourcePermission. |
getActions | public String getActions()(Code) | | Returns a canonical String representation of the actions of this
WebResourcePermission. WebResourcePermission actions are canonicalized by
sorting the HTTP methods into ascending lexical order. There may be no
duplicate HTTP methods in the canonical form, and the canonical form of
the set of all HTTP methods is the value null.
a String containing the canonicalized actions of thisWebResourcePermission (or the null value). |
hashCode | public int hashCode()(Code) | | Returns the hash code value for this WebResourcePermission. The properties
of the returned hash code must be as follows:
- During the lifetime of a Java application, the hashCode method must return
the same integer value, every time it is called on a WebResourcePermission
object. The value returned by hashCode for a particular
WebResourcePermission need not remain consistent from one execution of an
application to another.
- If two WebResourcePermission 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).
the integer hash code value for this object. |
implies | public boolean implies(Permission p)(Code) | | Determines if the argument Permission is "implied by" this
WebResourcePermission. For this to be the case, all of the following must
be true:
- The argument is an instanceof WebResourcePermission
- 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.
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 - |
requestURI | static String requestURI(HttpServletRequest request)(Code) | | Build a permission name from the substring of the
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.
Parameters: request - - the servlet request the resource permission name |
|
|