java 过滤器 优先级的权限拦截和javascipt判断是否登陆时的跳转
相同的url-pattern时要把自定义的权限放在strust2的前面。
1.WEB.xml
<!-- 权限 -->
<filter>
<filter-name>permission</filter-name>
<filter-class>com.ids.project.base.permission.filter.PermissionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>permission</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
权限过滤器增加
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with")
.equalsIgnoreCase("XMLHttpRequest")) {
response.addHeader("SessionStatus", "timeout");
}
ajax实现获取
error:function(xhr, message) {
if(xhr.getResponseHeader("sessionstatus")){
location.href="login.jsp";
};
var json = eval("(" + xhr.responseText + ")");
$.confirmDialog("错误信息"+ json.error);
}