📄 tokensessionstoreinterceptor.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: TokenSessionStoreInterceptor.java
package org.apache.struts2.interceptor;
import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.util.InvocationSessionStore;
import org.apache.struts2.util.TokenHelper;
// Referenced classes of package org.apache.struts2.interceptor:
// TokenInterceptor
public class TokenSessionStoreInterceptor extends TokenInterceptor
{
private static final long serialVersionUID = 0x82a6a7617e7dff2dL;
public TokenSessionStoreInterceptor()
{
}
protected String handleInvalidToken(ActionInvocation invocation)
throws Exception
{
ActionContext ac = invocation.getInvocationContext();
HttpServletRequest request = (HttpServletRequest)ac.get("com.opensymphony.xwork2.dispatcher.HttpServletRequest");
HttpServletResponse response = (HttpServletResponse)ac.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
String tokenName = TokenHelper.getTokenName();
String token = TokenHelper.getToken(tokenName);
Map params = ac.getParameters();
params.remove(tokenName);
params.remove("struts.token.name");
if (tokenName != null && token != null)
{
ActionInvocation savedInvocation = InvocationSessionStore.loadInvocation(tokenName, token);
if (savedInvocation != null)
{
ValueStack stack = savedInvocation.getStack();
Map context = stack.getContext();
request.setAttribute("struts.valueStack", stack);
ActionContext savedContext = savedInvocation.getInvocationContext();
savedContext.getContextMap().put("com.opensymphony.xwork2.dispatcher.HttpServletRequest", request);
savedContext.getContextMap().put("com.opensymphony.xwork2.dispatcher.HttpServletResponse", response);
Result result = savedInvocation.getResult();
if (result != null && savedInvocation.getProxy().getExecuteResult())
synchronized (context)
{
result.execute(savedInvocation);
}
invocation.getProxy().setExecuteResult(false);
return savedInvocation.getResultCode();
}
}
return "invalid.token";
}
protected String handleValidToken(ActionInvocation invocation)
throws Exception
{
String key = TokenHelper.getTokenName();
String token = TokenHelper.getToken(key);
InvocationSessionStore.storeInvocation(key, token, invocation);
return invocation.invoke();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -