在Web.xml中
<!-- 需要拦截的jsp --> <filter> <filter-name>sessionFilter</filter-name> <filter-class>sy.util.base.SessionFilter</filter-class> <init-param> <param-name>include</param-name> <!-- 在securityJsp这个文件夹下面的所有JSP页面,都需要有session才能访问,可以配置多个,用英文半角逗号分割 --> <param-value>securityJsp</param-value> </init-param> </filter> <filter-mapping> <filter-name>sessionFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> |
sessionFilter监听的网址中如果包含Include里的部分,则需要session才能访问
效果:
<!-- 用户上下线监听器 --> <listener> <listener-class>sy.util.base.OnlineListener</listener-class> </listener> |
OnlineListener 会监听在线用户上线下线
效果:
在struts.xml中
<!-- session拦截器 --> <interceptorname="sessionInterceptor"class="sy.interceptor.base.SessionInterceptor"/> <interceptor-stackname="sessionStack"> <interceptor-refname="encodingStack"></interceptor-ref> <interceptor-refname="sessionInterceptor"> <!-- doNotNeedSessionAndSecurity_ 开头的和doNotNeedSession_ 开头的方法不拦截 --> <paramname="excludeMethods">doNotNeedSession_*,doNotNeedSessionAndSecurity_*</param> </interceptor-ref> </interceptor-stack> |
sessionInterceptor拦截非jsp后缀的
效果:
<!-- 权限拦截器 --> <interceptorname="securityInterceptor"class="sy.interceptor.base.SecurityInterceptor" /> <interceptor-stackname="securityStack"> <interceptor-refname="sessionStack"></interceptor-ref> <interceptor-refname="securityInterceptor"> <!-- doNotNeedSessionAndSecurity_ 开头的和doNotNeedSecurity_ 开头的方法不拦截 --> <paramname="excludeMethods">doNotNeedSecurity_*,doNotNeedSessionAndSecurity_*</param> </interceptor-ref> </interceptor-stack> </interceptors> |
securityInterceptor检测权限
效果:
<global-results> <!-- 没有session --> <resultname="noSession">/error/noSession.jsp</result> <!-- 没有权限 --> <resultname="noSecurity">/error/noSecurity.jsp</result> <!-- struts抛异常 --> <resultname="strutsException">/error/strutsException.jsp</result> </global-results> <global-exception-mappings> <exception-mappingresult="strutsException"exception="java.lang.Exception"></exception-mapping> </global-exception-mappings> |
Action结构:
学习交流
热门图片
猜你喜欢的新闻
新闻热点 2019-10-23 09:17:05
2019-10-21 09:20:02
2019-10-21 09:00:12
2019-09-26 08:57:12
2019-09-25 08:46:36
2019-09-25 08:15:43
疑难解答 |