Methods for Fetching Attributes in J2EE Agents

Fetching Attributes as HTTP Headers

When the agent is configured to provide the LDAP attributes as HTTP
headers, these attributes can be retrieved using the following methods on
the javax.servlet.http.HttpServletRequest interface:

long getDateHeader(java.lang.String name)

java.lang.String getHeader(java.lang.String name)

java.util.Enumeration getHeaderNames()

java.util.Enumeration getHeaders(java.lang.String name)

int getIntHeader(java.lang.String name)

The property that controls the parsing of a date value from an appropriate
string as set in the LDAP attribute is the following:

com.sun.identity.agents.config.attribute.date.format

This property defaults to the value EEE, d MMM yyyy hh:mm:ss
z and should be changed as necessary.

Multi-valued attributes can be retrieved as an instance of java.util.Enumeration from the following method:

java.util.Enumeration getHeaders(java.lang.String name)

Fetching Attributes as Request Attributes

When the agent is configured to provide the LDAP attributes as request
attributes, the agent populates these attribute values into the HttpServletRequest as attributes that can later be used by the application as necessary.
These attributes are populated as java.util.Set objects,
which must be cast to this type before they can be successfully used.

Fetching Attributes as Cookies

When the agent is configured to provide the LDAP attributes as cookies,
the necessary values are set as server specific cookies by the agent with
the path specified as “/.”

Multi-valued attributes are set as a single cookie value in a manner
that all values of the attribute are concatenated into a single string using
a separator character that can be specified by the following configuration
entry:

com.sun.identity.agents.config.attribute.cookie.separator

One of the tasks of the application is to parse this value back into
the individual values to ensure the correct interpretation of the multi-valued
LDAP attributes for the logged on user.

When you are fetching attributes as cookies, also use the cookie reset
functionality to ensure that these cookies get cleaned up from the client
browser when the client browser’s session expires. For more information,
see Using Cookie Reset Functionality in J2EE Agents.