Acegi角色管理系统

Acegi角色管理系统

ID:40545509

大小:125.50 KB

页数:4页

时间:2019-08-04

Acegi角色管理系统_第1页
Acegi角色管理系统_第2页
Acegi角色管理系统_第3页
Acegi角色管理系统_第4页
资源描述:

《Acegi角色管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Acegi+Spring+Hibernate+Struts2搭建基于角色的权限管理系统安全永远是Web应用系统必须面对的头等大事,也是最头疼的事,其实安全系统只包括两个问题:认证和授权以前做些网站系统,安全检测逻辑都在放在需要安全控制的代码前面,这样做有很多不好的地方,重复多次的编码就不用说了,代码移植性,重用性都得不到体现,安全检测逻辑要永远和业务逻辑放在一起。那么,能不能够在进入方法前就调用一些安全检测?其实SpringAOP就是这个思想,那么又如何实现安全检测呢?SpringAcegiSecurity框架就是

2、做这个事情。本文主要是讨论下在已有的SSH系统中,如何使用Acegi作为安全框架实现基于角色的权限控制(RoleBasedAccessControlRBAC),本文主要是以Java5注解的形式来配置安全框架,大大减化配置和操作。本文的主要参考资料:《Spring2.0核心技术与最佳实践》第10章(SpringAcegi安全框架)《精通Spring2.X--企业应用开发详解》第17章(使用Acegi实施应用系统安全)acegi-security-1.0.6官方文档说明:本文介绍的是RBAC,在官方文档的基础上有所扩展

3、或改动,以更适合WEB应用系统.其实我觉得大多数的网站基于角色已经足够了,一般都没必要基于权限。文章开始:一、下载所要的软件或jar包我的相关配置是:Java5,Tomcat5.5.26,Struts2.0.11,Spring2.5.1,Hibernate3.2,Acegi1.0.6二、建立相关的数据库数据表:用户信息表:User:id,enable(授权方式),user_name,user_pass,email_box角色信息表:RoleInfo:id,role_name,role_title,descp(描述)

4、用户与角色关联表:UserRole:user_id,user_name,role_id,role_name并在这三张表中插入相关的数据,我是定义的两种角色(role_name):ROLE_USER,ROLE_ADMIN和三个用户一个用户角色为:ROLE_USER,ROLE_ADMIN;另一个角色为:ROLE_USER第三个没有角色一、修改配置文件其实对Acegi的难点就在配置文件,所以要特别注意:在src目录下建立acegi-security.xml文件,当然这个文件的名字可以是任意的。acegi-security

5、.xml说白了就是配置安全管理器,认证管理器,决策管理器内容如下:在上面的配置文件中,要特别注意下面一段代码,其余的内容都差不多了。在整个应用的安全控制中,我们唯一要编写代码的类就是:org.ymcn.security.AcegiUserDeitailsService就连登录和登出的代码都差不多了。二、修改web.xml,增加安全控制过滤器注意:这个过滤器一定要在MVC转发过滤器的前面!!!一、在applicationContext.xml中增加Acegi安全控制拦截器和spring的自动代理功能实现AOP代理。一

6、、类AcegiUserDetailsService.java二、在业务逻辑代码中利用Java5注释实现安全控制其实就是在需要安全控制的方法前加上:@Secured({"角色名"}),非常的简单。三、整个工作完成Acegi框架完全是一种可插拔式的,完全可以在原有的系统中加一个配置文件,然后在这个方法前加上@Secured({“角色名”})就可完成。上面的AcegiUserDetailsService.java中的UserDao,UserRoleDao,我想一看就知道是干什么的了,这完全取决于个人的实现,与Acegi无

7、关,它仅仅只要返回一个returnneworg.acegisecurity.userdetails.User(username,user.getUserPass(),true,true,true,true,this.grantedAuthArray)就可以了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。