日期:2014-05-19 浏览次数:20626 次
<package name="strutsCheckLogin" extends="json-default">
<interceptors>
<interceptor name="noLogin"
class="com.zc.zcproject.commonInterceptor.AuthorityInterceptor" />
<interceptor-stack name="appStack">
<interceptor-ref name="defaultStack" />
</interceptor-stack>
<interceptor-stack
name="defaultPaginationInterceptorStack">
<interceptor-ref name="noLogin" />
<interceptor-ref name="appStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref
name="defaultPaginationInterceptorStack" />
<global-results>
<result name="json" >
${pageContext.request.contextPath}/page/main_login.jsp
</result>
<result name="login" >
${pageContext.request.contextPath}/page/main_login.jsp
</result>
<result name="noframe">
${pageContext.request.contextPath}/page/error/error.jsp
</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="noframe"
exception="com.zc.zcproject.exception.AppException">
</exception-mapping>
</global-exception-mappings>
</package>
public String intercept(ActionInvocation ai) throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
ActionContext ctx = ai.getInvocationContext();
Map session = ctx.getSession();
Object ACCOUNT = (Object) session.get(Constants.USER);
if (ACCOUNT != null) {
return ai.invoke();
}
_logger.info("intercept user is not login");
if(isAjaxRequest(request)){
return "json";
}else{
System.out.println("login");
return "login";
}
}
private boolean isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With");
if (header != null && "XMLHttpRequest".equals(header))
return true;
else
return false;
}