我要分享的是我为华夏银行保证金系统做的一个权限管理模块,基于struts2拦截器来实现可配置的权限模型。
看下struts配置文件先:
<package name="accesslog" extends="base" abstract="true">
<interceptors>
<interceptor name="accesslog"
class="com.ylsoft.power.web.intercept.AccessLogInterceptor">
</interceptor>
<interceptor-stack name="accesstrace">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="accesslog" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="accesstrace" />
</package>
<package name="needsession" extends="accesslog" abstract="true">
<interceptors>
<interceptor name="validsession"
class="com.ylsoft.power.web.intercept.ValidSessionInterceptor">
</interceptor>
<interceptor-stack name="filtersession">
<interceptor-ref name="mydefault"></interceptor-ref>
<interceptor-ref name="accesslog"></interceptor-ref>
<interceptor-ref name="validsession"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="filtersession"></default-interceptor-ref>
</package>
<package name="authrole" extends="needsession" abstract="true">
<interceptors>
<interceptor name="authenticate"
class="com.ylsoft.power.web.intercept.AuthenticateInterceptor">
</interceptor>
<interceptor-stack name="auth">
<interceptor-ref name="mydefault"></interceptor-ref>
<interceptor-ref name="accesslog"></interceptor-ref>
<interceptor-ref name="filtersession"></interceptor-ref>
<interceptor-ref name="authenticate"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="auth"></default-interceptor-ref>
</package>
我把对struts提供的服务的访问权限分为以下几种:
1.不做任何限制
2.只做访问日志
3.所有登录的用户都能访问
4.通过角色认证的用户才能访问
通过配置文件可以看出它们有序的组合在一起,并且都是抽象的,对它们的定义很简单,它们是独立的内容不与任何业务相关,因为它们不知道接下来要配置到哪些业务上。
这样的好处是这些配置可以重用,方便管理。
下面是针对具体业务的配置:
<package name="backlog" namespace="/" extends="authrole">
<action name="backlog"
class="com.ylsoft.backlog.action.BacklogAction">
<result name="failList">
/project/backlog/failList.jsp
</result>
<result name="accountUpdate">
/project/backlog/accountUpdate.jsp
</result>
<result name="queryList">
/project/backlog/queryList.jsp
</result>
</action>
</package>
分享到:
相关推荐
STRUTS2拦截器控制页面访问权限的设计与实现,解决基于STRUTS2的web应用的程序访问控制,防止非法访问
第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...
(1) 图书管理系统可以按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查阅访问和内部管理人员对图书记录的管理维护。 (2) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄...
6.使用拦截器实现权限验证 35 7.拦截器中的注解 37 8.使用PreResultListener实现回调 39 六、使用标签 40 1.基础表单标签 40 2.单选按钮和复选框: 41 3.三种方式实现下拉列表 41 4.二级联动 42 5.其它表单标签 44 6...
2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 ...
写的比较简陋,,基于struts1.2+spring2.0+hibernate3.1框架 基本功能: 注册,登陆,添加联系人,按类别查找联系人,删除联系人,登出 表单输入使用validate框架验证,权限管理使用 Filter+action拦截器,...
随着计算机网络通信技术的发展,资源...利用拦截器和过滤器实现“用户、角色、权限”三维管控,使系统更加具有层次化和结构化。 本系统具有易用性、健壮性、严密性和实用性等特点,将现代化办公和计算机技术有机结合。
208 11.7.1 基于容器管理事务 209 11.7.2 基于Bean管理的事务 210 11.8 EJB拦截器 212 11.9 EJB定时服务 214 11.10 EJB安全管理 214 11.11 小结 216 第12章 RMI 217 12.1 RMI简介 217 12.1.1 RMI的架构 218 12.1.2 ...
该文档是SSH框架为基础实现的BBS论坛。其中有整合好的全面的SSH jar包,BBS前台,后台源码,这个小系统的报告,数据库关系分析等。 以下内容摘自报告目录部分(希望...4.14 根据权限定义拦截器 4.15 测试系统相应的功能
基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件 8. Struts的validate框架是如何验证的? 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。 9. 说下Struts...
通过拦截器进行权限检查、日志输出等操作; 05、框架实现了文件上传共通、电子文档导出、校验、全局异常处理、分页等共通,具体参见相关画面的相关功能; 06、通过注解方式实现事务控制,相关画面有测试代码,具体在...
通过拦截器进行权限检查、日志输出等操作; 05、框架实现了文件上传共通、电子文档导出、校验、全局异常处理、分页等共通,具体参见相关画面的相关功能; 06、通过注解方式实现事务控制 07、关于数据库链接,可以...
25.1 AOP联盟(MethodInvocation)安全拦截器 197 25.1.1显式MethodSecurityInterceptor配置 197 25.2 AspectJ(JoinPoint)安全拦截器 198 26.基于表达式的访问控制 200 26.1概述 200 26.1.1通用内置表达式 201 ...