|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.xwork2.interceptor.AbstractInterceptor
org.apache.struts2.interceptor.CookieInterceptor
public class CookieInterceptor
The aim of this intercepter is to set values in the stack/action based on cookie name/value of interest.
If an asterisk is present in cookiesName parameter, it will be assume that all cookies name are to be injected into struts' action, even though cookiesName is comma-separated by other values, e.g. (cookie1,*,cookie2). If cookiesName is left empty it will assume that no cookie will be injected into Struts' action. If an asterisk is present in cookiesValue parameter, it will assume that all cookies name irrespective of its value will be injected into Struts' action so long as the cookie name matches those specified in cookiesName parameter. If cookiesValue is left empty it will assume that all cookie that match the cookieName parameter will be injected into Struts' action. The action could implementsCookiesAware
in order to have a Map
of filtered cookies set into it.
CookiesAware
.
<!-- This example will inject cookies named either 'cookie1' or 'cookie2' whose value could be either 'cookie1value' or 'cookie2value' into Struts' action. --> <action ... > <interceptor-ref name="cookie"> <param name="cookiesName">cookie1, cookie2</param> <param name="cookiesValue">cookie1value, cookie2value</param> </interceptor-ref> .... </action> <!-- This example will inject cookies named either 'cookie1' or 'cookie2' regardless of their value into Struts' action. --> <action ... > <interceptor-ref name="cookie"> <param name="cookiesName">cookie1, cookie2</param> <param name="cookiesValue">*</param> <interceptor-ref> ... </action> <!-- This example will inject cookies named either 'cookie1' with value 'cookie1value' or 'cookie2' with value 'cookie2value' into Struts' action. --> <action ... > <interceptor-ref name="cookie"> <param name="cookiesName">cookie1</param> <param name="cookiesValue">cookie1value</param> </interceptor-ref> <interceptor-ref name="cookie"> <param name="cookiesName"<cookie2</param> <param name="cookiesValue">cookie2value</param> </interceptor-ref> .... </action> <!-- This example will inject any cookies regardless of its value into Struts' action. --> <action ... > <interceptor-ref name="cookie"> <param name="cookiesName">*</param> <param name="cookiesValue">*</param> </interceptor-ref> ... </action>
CookiesAware
,
Serialized FormConstructor Summary | |
---|---|
CookieInterceptor()
|
Method Summary | |
---|---|
protected void |
injectIntoCookiesAwareAction(Object action,
Map<String,String> cookiesMap)
Hook that set the cookiesMap into action that implements
CookiesAware . |
String |
intercept(ActionInvocation invocation)
|
protected void |
populateCookieValueIntoStack(String cookieName,
String cookieValue,
Map<String,String> cookiesMap,
ValueStack stack)
Hook that populate cookie value into value stack (hence the action) if the criteria is satisfied (if the cookie value matches with those configured). |
void |
setAcceptCookieNames(String pattern)
Set the acceptCookieNames pattern of allowed names of cookies to protect against remote command execution vulnerability |
void |
setCookiesName(String cookiesName)
Set the cookiesName which if matched will allow the cookie
to be injected into action, could be comma-separated string. |
void |
setCookiesValue(String cookiesValue)
Set the cookiesValue which if matched (together with matching
cookiesName) will caused the cookie to be injected into action, could be
comma-separated string. |
Methods inherited from class com.opensymphony.xwork2.interceptor.AbstractInterceptor |
---|
destroy, init |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CookieInterceptor()
Method Detail |
---|
public void setCookiesName(String cookiesName)
cookiesName
which if matched will allow the cookie
to be injected into action, could be comma-separated string.
cookiesName
- public void setCookiesValue(String cookiesValue)
cookiesValue
which if matched (together with matching
cookiesName) will caused the cookie to be injected into action, could be
comma-separated string.
cookiesValue
- public void setAcceptCookieNames(String pattern)
acceptCookieNames
pattern of allowed names of cookies to protect against remote command execution vulnerability
pattern
- used to check cookie name againstpublic String intercept(ActionInvocation invocation) throws Exception
intercept
in interface Interceptor
intercept
in class AbstractInterceptor
Exception
protected void populateCookieValueIntoStack(String cookieName, String cookieValue, Map<String,String> cookiesMap, ValueStack stack)
cookieName
- cookieValue
- cookiesMap
- stack
- protected void injectIntoCookiesAwareAction(Object action, Map<String,String> cookiesMap)
cookiesMap
into action that implements
CookiesAware
.
action
- cookiesMap
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |