网站大量收购独家精品文档,联系QQ:2885784924

Spring_ecurity_2权限安全管理.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring_ecurity_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 中的配置如下: 所有以‘.do’结尾以及index.jsp、文件上传的请求都会转到DelegatingFilterProxy类的bean去处理。而该Bean在Spring Security 2.0中,已经内置于安全管理的缺省的app-security.xml配置当中。 2、在app-security.xml中的配置如下: ① http标签配置如何拦截用户请求。auto-config=true将自动配置几种常用的权限控制机制,包括form, anonymous, rememberMe。 ② access-denied=/403.jsp 指自定义访问请求拒绝后显示的页面 ③ lowercase-comparisons=true 指在进行URL匹配前是否需要自动将URL中的字符都转换成小写,true为是。 ④ access-decision-manager-ref=accessDecisionManager 指调用下面id为accessDecisionManager的访问策略管理器。 ⑤ intercept-url pattern=/images/** filters=none/ 标签部分是指所有的这些页面都不进行过滤处理,直接让其通过。通配符‘*’是指匹配任意多个字符,但不能跨越目录;‘**’是指可以匹配任意多个字符,可以跨越目录。 ⑥ form-login 指form表单登录机制,default-target-url=/index.jsp 设置登录成功后的页面,login=/login.jsp 表示用户登陆时显示自定义的login.

文档评论(0)

pab547 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档