- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sprin_security_2权限安全管理
Spring Security 2安全管理方式
一、该系统的安全管理方式是结合Spring Security 2.0实现的。
二、系统需要实现的安全管理方式有:
1. 登录时需要验证用户名和密码
2. 登录时需要加上验证码
3. 所有的数据展示及访问页面需要登录后才能访问
4. 登录后的所有系统的访问URL均需要授权
5. 多个用户不能使用同一个账号同时登陆系统
6. 当用户点击注销后要实现浏览器的后退按钮后退的页面失效
权限设计是采用基于角色控制的方式,用户需要访问系统的资源,首先必须要授予一个角色,而该角色具有访问系统资源的权限的能力,也可以认为是权限的集合。因此,一个用户要访问系统的某个资源(如产品列表),则首先要授予一个能够访问产品列表资源的角色(如productAdmin)。只要任一个用户拥有了该角色,即可以访问该资源。系统的安全涉及到两个不同的概念,认证和授权。前者是验证用户是否可以进入该系统。用户进入系统的时候,首先要进行第一个操作就是进行身份认证,即Authentication。在系统中一般表现为用户用账号跟密码登录。如果都正确了,则可以登录系统。
【说明】在现实中你可以这样理解,员工在进入公司之前,需要进行身份的确认。身份确认通过后,则可以进入公司。进入公司后,并不代表可以随便进入公司的每个办公室。这时就需要看当前员工具有哪些角色,即授权。授权则是关于确认用户是否允许执行一个特定的操作。如当前员工是总经理,则可以进入总经理办公室,并且可以进入普通员工的办公区域。是因为总经理已经授权可以出入这些地方。在本系统中,权限表现为功能菜单及系统访问的URL。
因而用户、角色、权限、功能菜单之间的关系可以用如下的图描述
一个用户可以有多个角色,每个角色有多个菜单,每个菜单有多个功能,每个功能会对应多个系统访问的URL资源。
基于以上思想,数据库中的表设计:
app_user 系统用户表,放置系统的所有用户。
user_role 用户角色中间表,用户所拥有的角色。
app_role 角色表,放置系统的所有角色
role_menu 角色对应的菜单表,放置角色拥有的菜单
menu 菜单表,放置系统的所有菜单项
app_function 系统的功能表,放置系统菜单对应的所有功能
fun_url 系统的功能对应的权限URL 表
role_fun 角色对应的功能表
【说明】用户表app_user 中的密码需要保存为密文,可以防止用户的密码泄露
整合Spring Security
1、为了在系统中使用Spring Security控制权限,首先要在web.xml中配置过滤器,Spring Security 是由一组的filter 来进行统一的过滤,不同的filter 进行相应的权限过滤功能。不过在Security 跟Spring 集成的过程中,其是由一个代理的类进行这些filter的统一管理。在web.xml 中的配置如下:
filter filter-namespringSecurityFilterChain/filter-name
filter
filter-namespringSecurityFilterChain/filter-name
filter-class
org.springframework.web.filter.DelegatingFilterProxy
/filter-class
/filter
filter-mapping
filter-namespringSecurityFilterChain/filter-name
url-pattern*.do/url-pattern
/filter-mapping
filter-mapping
filter-namespringSecurityFilterChain/filter-name
url-pattern/index.jsp/url-pattern
/filter-mapping
filter-mapping
filter-namespringSecurityFilterChain/filter-name
url-pattern/file-upload/url-pattern
/filter-mapping
所有以‘.do’结尾以及index.jsp、文件上传的请求都会转到DelegatingFilterProxy类的bean去处理。而该Bean在Spring Security 2.0中,已经内置于安全管理的缺省的app-security.xml配置当中。
2、在app-security.xml中的配置如下:
?
文档评论(0)