BEA Systems, Inc.

BEA WebLogic Server 9.0 API Reference


weblogic.security.service
Class URLResource

java.lang.Object
  extended byweblogic.security.service.ResourceBase
      extended byweblogic.security.service.URLResource
All Implemented Interfaces:
Resource, SelfDescribingResource, SelfDescribingResourceV2, Serializable

public final class URLResource
extends ResourceBase

The URLResource class is used by a container to specify the URL resource (and method related to the resource) that a caller is attempting to access.

Case sensitivity of the contextPath and URI is determined by the WebAppFilesCaseInsensitive attribute on the SecurityConfigurationMBean. The default value is to handle the contextPath and URI as case sensitive on all platforms. The weblogic.security.URLResourceCaseMapping property can no longer be used to change behavior on the server command line.

The toString format (which is produced by the ResourceBase class) for a URL resource is:
type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET

See Also:
Serialized Form
Copyright © 2005 BEA Systems, Inc. All Rights Reserved.

Field Summary
 
Fields inherited from class weblogic.security.service.ResourceBase
id, length, NO_PARENT, parent, resStr, SCOPE_RESOURCE_ACTION, values
 
Fields inherited from interface weblogic.security.spi.SelfDescribingResource
LIST_FIELD_TYPE, NORMAL_FIELD_TYPE, PATH_FIELD_TYPE, UNDEFINED_FIELD_TYPE
 
Constructor Summary
URLResource(String application, String contextPathArg, String uriArg, String httpMethod, String transportType)
          Constructs a new URLResource with a target name composed from the application, contextPath, URI, httpMethod, and transportType parameters.
 
Method Summary
 boolean equals(Object obj)
          Compares this resource to the resource in the specified object.
 String getApplicationName()
          Gets the name of the application associated with the URLResource.
 String getContextPath()
          Gets the URI of the Web component.
 int getFieldType(String fieldName)
          Describe getFieldType method here.
 String getHttpMethod()
          Gets the HTTP method of the URL resource.
 String[] getKeys()
          Gets keys for the URLresource.
 int getRepeatingFieldIndex()
          getRepeatingFieldIndex returns an index into the array returned by getKeys() that signifies what part of the Resource's fields repeat as the hierarchy is traversed.
 int getRepeatingFieldTerminatingIndex()
          The field returned by getRepeatingFieldIndex is repeated as the Resource is shortened up to and including this field index.
 String getTransportType()
          Gets the transport guarantee required to access the URLResource.
 String getType()
          Gets the type of this resource (URLResource).
 String getURI()
          Gets the URI of the Web component.
protected  void init(String[] values, int len, long seed, String httpMethod, String suffix, boolean URIUnchanged)
          Initializes the URLResource with the array of values.
protected  Resource makeParent()
          Gets a Resource object that represents the parent of the current URLResource.
 boolean mappingToLowerCase()
          Returns true if we are mapping the contextPath and URI to lower case upon creation.
 
Methods inherited from class weblogic.security.service.ResourceBase
appendArrayValue, appendValue, getID, getParentResource, getValues, hashCode, init, init, isTransitiveField, reset, toString, writeResourceString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

URLResource

public URLResource(String application,
                   String contextPathArg,
                   String uriArg,
                   String httpMethod,
                   String transportType)
Constructs a new URLResource with a target name composed from the application, contextPath, URI, httpMethod, and transportType parameters.

For example, if the web.xml deployment descriptor in mywebapp.war (which is inside myApp.ear) contains the following elements:

<web-app>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>MyResource</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>MyRole</role-name>
    </auth-constraint>
  </security-constraint>
  ...
</web-app>

If the URL to access the resource is http://MyServer:MyPort/mywebapp/foo/bar/my.jsp?x=y, then the context path is "/mywebapp", the servlet path is "/foo/bar/my.jsp", and the path info is "" (null).

Finally, the URLResource is represented as type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET.

This method will map the contextPath and URI to lower case if mappingToLowerCase() returns true.

Method Detail

equals

public boolean equals(Object obj)
Compares this resource to the resource in the specified object.

Specified by:
equals in interface Resource
Overrides:
equals in class ResourceBase
Parameters:
obj - the other resource with which to compare this resource.

Returns:
TRUE if the resource passed in matches this resource, and FALSE otherwise.

See Also:
Object.equals(Object)

getApplicationName

public String getApplicationName()
Gets the name of the application associated with the URLResource.

Returns:
the name of the application associated with the URLResource, represented as a String.


getContextPath

public String getContextPath()
Gets the URI of the Web component.

Returns:
a String representing the URI of the Web component.


getFieldType

public int getFieldType(String fieldName)
Description copied from interface: SelfDescribingResource
Describe getFieldType method here.

Specified by:
getFieldType in interface SelfDescribingResource
Overrides:
getFieldType in class ResourceBase

getHttpMethod

public String getHttpMethod()
Gets the HTTP method of the URL resource.

Returns:
the name of the HTTP method on the URLResource, represented as a String.


getKeys

public String[] getKeys()
Gets keys for the URLresource.

Specified by:
getKeys in interface Resource
Specified by:
getKeys in class ResourceBase
Returns:
an array of Strings containing the URLResource's keys.


getRepeatingFieldIndex

public int getRepeatingFieldIndex()
Description copied from interface: SelfDescribingResource
getRepeatingFieldIndex returns an index into the array returned by getKeys() that signifies what part of the Resource's fields repeat as the hierarchy is traversed. For example, in the URLResource, the httpMethod is repeated as the hierarchy is walked. A value of -1 indicates that there are no repeating fields.

Specified by:
getRepeatingFieldIndex in interface SelfDescribingResource
Overrides:
getRepeatingFieldIndex in class ResourceBase

getRepeatingFieldTerminatingIndex

public int getRepeatingFieldTerminatingIndex()
Description copied from interface: SelfDescribingResource
The field returned by getRepeatingFieldIndex is repeated as the Resource is shortened up to and including this field index. After this field index the repetition is no longer applied.

Specified by:
getRepeatingFieldTerminatingIndex in interface SelfDescribingResource
Overrides:
getRepeatingFieldTerminatingIndex in class ResourceBase

getTransportType

public String getTransportType()
Gets the transport guarantee required to access the URLResource.

Returns:
the transport guarantee required to access the URLResource.


getType

public String getType()
Gets the type of this resource (URLResource).

Returns:
the type of this resource, represented as a String.


getURI

public String getURI()
Gets the URI of the Web component.

Returns:
the URI of the Web component, represented as a String.


init

protected void init(String[] values,
                    int len,
                    long seed,
                    String httpMethod,
                    String suffix,
                    boolean URIUnchanged)
Initializes the URLResource with the array of values. Computes a resource ID as a hash function of the resource type and each of its non-null values, then stores the suffix for later use.

This method will not map the contextPath and URI to lower case. The caller must check the value of mappingToLowerCase() and map them if necessary.

Parameters:
values - the values with which to initialize the URLResource. The values must be in the same order as the toString prints them.

len - the number of values to use. This can be less than the length of values, in which case the values greater than len will be ignored.

seed - the random number to use in getID calculation.

httpMethod - the HTTP method (for example, "GET"), or null if not applicable.

suffix - the suffix of the file (for example, ".jsp") or null if not applicable.

URIUnchanged - true if we have not changed the URI from how it was passed to us from the container. This is needed to special-case getParentResource().


makeParent

protected Resource makeParent()
Gets a Resource object that represents the parent of the current URLResource. If the resource does not have a parent, the value of null must be returned.

The parentage hierarchy for the URLResource (that is, the values returned from successive calls to this method) is:

type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET, transportType=confidential
type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET
type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp
type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*, httpMethod=GET
type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*
type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/*, httpMethod=GET type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/* type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
, httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
, httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
, httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
type=<url>, application=myApp, contextPath="/mywebapp", uri=/
, httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/
type=<url>, application=myApp, contextPath="/mywebapp"
type=<url>, application=myApp
type=<app>, application=myApp
type=<url>

Overrides:
makeParent in class ResourceBase
Returns:
the Resource object of the parent resource.


mappingToLowerCase

public boolean mappingToLowerCase()
Returns true if we are mapping the contextPath and URI to lower case upon creation.


Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs90
Copyright 2005 BEA Systems Inc.