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.
java.security.Permission
| Modifier and Type | Field and Description |
|---|---|
| private static final transient String | |
| private static final transient String | |
| private transient int | |
| private transient HttpMethodSpec | |
| private static final ObjectStreamField[] | serialPersistentFields
The serialized fields of this permission are defined below. |
| private static final long | |
| private transient URLPatternSpec |
| Access | Constructor and Description |
|---|---|
| public | WebResourcePermission(String
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.
All colons occuring within the URLPattern elements of the URLPatternSpec
must be represented in escaped encoding as defined in RFC 2396.
name, String identifies the HTTP methods to which the permission
pertains. If the value passed through this parameter is null or
the empty string, then the permission pertains to all the possible
HTTP methods. actions)Creates a new WebResourcePermission with the specified name and actions. |
| public | WebResourcePermission(String
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.
All colons occuring within the URLPattern elements of the URLPatternSpec
must be represented in escaped encoding as defined in RFC 2396.
urlPatternSpec, String[] 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
pertains to all the possible HTTP methods. HTTPMethods)Creates a new WebResourcePermission with name corresponding to the URLPatternSpec, and actions composed from the array of HTTP methods. |
| public | WebResourcePermission(HttpServletRequest
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 permission's actions field is obtained from
HttpServletRequest.getMethod(). The constructor must transform all colon
characters occuring in the name to escaped encoding as defined in
RFC 2396. request)Creates a new WebResourcePermission from the HttpServletRequest object. |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | Returns: true if the argument WebResourcePermission object is equivalent to this WebResourcePermission.the WebResourcePermission object being tested for equality
with this WebResourcePermission.
o)Implements abstract java. |
| public String | Returns: a String containing the canonicalized actions of this WebResourcePermission (or the null value).Implements abstract java. |
| private static String | getUriMinusContextPath(HttpServletRequest request)
Chops the ContextPath off the front of the requestURI to yield the servletPath + PathInfo. |
| public int | Returns: the integer hash code value for this object.Implements abstract java. |
| public boolean | Returns: true if the specified permission is implied by this object, false if not."this" WebResourcePermission is checked to see if
it implies the argument permission.
permission)Implements abstract java. |
| private void | readObject(ObjectInputStream s)
readObject reads the serialized fields from the input stream and uses them to restore the permission. |
| private synchronized void | writeObject(ObjectOutputStream s)
writeObject is used to establish the values of the serialized fields before they are written to the output stream and need not be implemented if the values of the serialized fields are always available and up to date. |
| EMPTY_STRING | back to summary |
|---|---|
| private static final transient String EMPTY_STRING | |
| ESCAPED_COLON | back to summary |
|---|---|
| private static final transient String ESCAPED_COLON | |
| hashCodeValue | back to summary |
|---|---|
| private transient int hashCodeValue | |
| methodSpec | back to summary |
|---|---|
| private transient HttpMethodSpec methodSpec | |
| serialPersistentFields | back to summary |
|---|---|
| private static final ObjectStreamField[] serialPersistentFields The serialized fields of this permission are defined below. Whether or not the serialized fields correspond to actual (private) fields is an implementation decision.
| |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID | |
| urlPatternSpec | back to summary |
|---|---|
| private transient URLPatternSpec urlPatternSpec | |
| WebResourcePermission | back to summary |
|---|---|
| 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. 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:
The actions parameter contains a comma seperated list of HTTP methods. The syntax of the actions parameter is defined as follows:
ExtensionMethod ::= any token as defined by RFC 2616
(that is, 1*[any CHAR except CTLs or separators])
HTTPMethod ::= "GET" | "POST" | "PUT" | "DELETE" | "HEAD" |
"OPTIONS" | "TRACE" | ExtensionMethod
HTTPMethodList ::= HTTPMethod | HTTPMethodList comma HTTPMethod
HTTPMethodExceptionList ::= exclaimationPoint HTTPMethodList
HTTPMethodSpec ::= null | HTTPMethodExceptionList |
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. If the HTTPMethodSpec contains an HTTPMethodExceptionList (i.e., it begins with an exclaimationPoint), the permission pertains to all methods except those occuring in the exception list.
| |
| WebResourcePermission | back to summary |
|---|---|
| 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.
| |
| WebResourcePermission | back to summary |
|---|---|
| public WebResourcePermission(HttpServletRequest request) Creates a new WebResourcePermission from the HttpServletRequest object.
| |
| equals | back to summary |
|---|---|
| public boolean equals(Object o) Implements abstract java. 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. Two Permission objects, P1 and P2, are equivalent if and only if P1.implies(P2) && P2.implies(P1).
| |
| getActions | back to summary |
|---|---|
| public String getActions() Implements abstract java. Returns a canonical String representation of the actions of this WebResourcePermission. In the canonical form, predefined methods preceed extension methods, and within each method classification the corresponding methods occur in 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.
| |
| getUriMinusContextPath | back to summary |
|---|---|
| private static String getUriMinusContextPath(HttpServletRequest request) Chops the ContextPath off the front of the requestURI to yield the servletPath + PathInfo. For the special case where the servletPath + PathInfo is the pattern, "/", this routine returns the empty string. | |
| hashCode | back to summary |
|---|---|
| public int hashCode() Implements abstract java. Returns the hash code value for this WebResourcePermission. The properties of the returned hash code must be as follows:
| |
| implies | back to summary |
|---|---|
| public boolean implies(Permission permission) Implements abstract java. Determines if the argument Permission is "implied by" this WebResourcePermission. For this to be the case, all of the following must be true:
URLPattern matching is performed using the Servlet matching rules where two URL patterns match if they are related as follows:
All of the comparisons described above are case sensitive.
| |
| readObject | back to summary |
|---|---|
| private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException readObject reads the serialized fields from the input stream and uses them to restore the permission. This method need not be implemented if establishing the values of the serialized fields (as is done by defaultReadObject) is sufficient to initialize the permission. | |
| writeObject | back to summary |
|---|---|
| private synchronized void writeObject(ObjectOutputStream s) throws IOException writeObject is used to establish the values of the serialized fields before they are written to the output stream and need not be implemented if the values of the serialized fields are always available and up to date. The serialized fields are written to the output stream in the same form as they would be written by defaultWriteObject. | |