首页 > 学院 > 开发设计 > 正文

sshe源码分析——全局架构

2019-11-14 23:37:39
字体:
来源:转载
供稿:网友
sshe源码分析——全局架构

在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才能访问

效果:

wpsCEE5.tmp

wpsCEE6.tmp

<!-- 用户上下线监听器 -->

<listener>

<listener-class>sy.util.base.OnlineListener</listener-class>

</listener>

OnlineListener 会监听在线用户上线下线

效果:

wpsCEE7.tmp

wpsCEE8.tmp

在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后缀的

效果:

wpsCEE9.tmp

wpsCEF9.tmp

<!-- 权限拦截器 -->

<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检测权限

效果:

wpsCEFA.tmp

wpsCEFB.tmp

wpsCEFC.tmp

<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结构:

wpsCF0D.tmp" src="http://s1.VeVb.com/20150728/vetivqkck2g03.jpg" alt="wpsCF0D.tmp" widt

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表