public class AuthorizationInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation ai) throws Exception {
Map<?, ?> session = ai.getInvocationContext().getSession();
UsrinfVO actor = (UsrinfVO) session.get(Constants.LGNUSR);
if (actor == null) {
actor = SpringUtil.getLgnUsr();
}
Action action = (Action) ai.getAction();
if (action instanceof UsrAction) {
return ai.invoke();
}
HttpServletRequest request = ServletActionContext.getRequest();
// AJAX request session time out handle
String type = request.getHeader("X-Requested-With");
if ( type != null && type.equalsIgnoreCase("XMLHttpRequest")) {
if(!validateLoginStatus(actor)){
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
//request.setAttribute("message", "timeout");
Log.info("Ajax 超时");
pw.write("timeout");
return null;
}
}
if (!validateLoginStatus(actor)) {
Log.info("超时退出");
return "goLoginAppPage";
}
return ai.invoke();
}
}
struts2的拦截器AbstractInterceptor
猜你喜欢
转载自yuebishuhui-sina-com.iteye.com/blog/2220329
今日推荐
周排行