org.apache.struts2.interceptor

## Class TokenSessionStoreInterceptor

- java.lang.Object
- - com.opensymphony.xwork2.interceptor.AbstractInterceptor
  - - com.opensymphony.xwork2.interceptor.MethodFilterInterceptor
    - - org.apache.struts2.interceptor.TokenInterceptor
      - - org.apache.struts2.interceptor.TokenSessionStoreInterceptor

- All Implemented Interfaces:
    Interceptor, Serializable

      public class TokenSessionStoreInterceptor
      extends TokenInterceptor

  This interceptor builds off of the `TokenInterceptor`, providing advanced logic for handling invalid tokens. Unlike the normal token interceptor, this interceptor will attempt to provide intelligent fail-over in the event of multiple requests using the same session. That is, it will block subsequent requests until the first request is complete, and then instead of returning the invalid.token code, it will attempt to display the same response that the original, valid action invocation would have displayed if no multiple requests were submitted in the first place.

  NOTE: As this method extends off MethodFilterInterceptor, it is capable of deciding if it is applicable only to selective methods in the action class. See `MethodFilterInterceptor` for more info.

  Interceptor parameters:

  - None

  Extending the interceptor:

  There are no known extension points for this interceptor.

  Example code:

       <action name="someAction" class="com.examples.SomeAction">
           <interceptor-ref name="tokenSession/>
           <interceptor-ref name="basicStack"/>
           <result name="success">good_result.ftl</result>
       </action>

       <-- In this case, myMethod of the action class will not
              get checked for invalidity of token -->
       <action name="someAction" class="com.examples.SomeAction">
           <interceptor-ref name="tokenSession>
               <param name="excludeMethods">myMethod</param>
           </interceptor-ref name="tokenSession>
           <interceptor-ref name="basicStack"/>
           <result name="success">good_result.ftl</result>
       </action>

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.struts2.interceptor.TokenInterceptor

      `INVALID_TOKEN_CODE`

    - ### Fields inherited from class com.opensymphony.xwork2.interceptor.MethodFilterInterceptor

      `excludeMethods, includeMethods`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TokenSessionStoreInterceptor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `handleInvalidToken(ActionInvocation invocation)` Determines what to do if an invalid token is provided.
    `protected String` | `handleToken(ActionInvocation invocation)`
    `protected String` | `handleValidToken(ActionInvocation invocation)` Called when a valid token is found.

    - ### Methods inherited from class org.apache.struts2.interceptor.TokenInterceptor

      `doIntercept, getErrorMessage, setTextProviderFactory`

    - ### Methods inherited from class com.opensymphony.xwork2.interceptor.MethodFilterInterceptor

      `applyInterceptor, getExcludeMethodsSet, getIncludeMethodsSet, intercept, setExcludeMethods, setIncludeMethods`

    - ### 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

    - #### TokenSessionStoreInterceptor

          public TokenSessionStoreInterceptor()

  - ### Method Detail

    - #### handleToken

          protected String handleToken(ActionInvocation invocation)
                                throws Exception

      Overrides:
        `handleToken` in class `TokenInterceptor`
      Throws:
        `Exception`

    - #### handleInvalidToken

          protected String handleInvalidToken(ActionInvocation invocation)
                                       throws Exception

      Description copied from class: `TokenInterceptor`
      Determines what to do if an invalid token is provided. If the action implements `ValidationAware`
      Overrides:
        `handleInvalidToken` in class `TokenInterceptor`
      Parameters:
        `invocation` - the action invocation where the invalid token failed
      Returns:
        the return code to indicate should be processed
      Throws:
        `Exception` - when any unexpected error occurs.

    - #### handleValidToken

          protected String handleValidToken(ActionInvocation invocation)
                                     throws Exception

      Description copied from class: `TokenInterceptor`
      Called when a valid token is found. This method invokes the action by can be changed to do something more interesting.
      Overrides:
        `handleValidToken` in class `TokenInterceptor`
      Parameters:
        `invocation` - the action invocation
      Returns:
        invocation result
      Throws:
        `Exception` - when any unexpected error occurs.

Copyright © 2000–2018 Apache Software Foundation. All rights reserved.