spring-security优略只见

spring-security优略只见

ID:10027560

大小:77.00 KB

页数:10页

时间:2018-05-21

spring-security优略只见_第1页
spring-security优略只见_第2页
spring-security优略只见_第3页
spring-security优略只见_第4页
spring-security优略只见_第5页
资源描述:

《spring-security优略只见》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SpringSecurity优劣之我见 拜读了SpringSecurity相关帖子和SpringSecurity参考文档。现将我理解的SpringSecurity写下来和大家共享。 本文目的是从SpringSecurity能够提供的功能、以及基本原理角度分析,并不深入到如何编码。然后反过来,审查我们的软件系统需要哪些权限控制。进而评审SpringSecurity的适用性。 本文力求文字简单,概念也简单。--------------------------------------------------------------文章大纲:SpringSecurity如何控制权限   概要   与W

2、EB系统的集成   控制内容   细粒度权限控制我们理想中的权限管理   客户对权限管理的需求   开发中遇到的难点   我们理想的权限管理SpringSecurity的评价   优点   缺点--------------------------------------------------------------SpringSecurity如何控制权限概要Spring使用由Filter组成的Chain,来判断权限。如下图所示:Spring预定义了很多out-of-boxedfilter供开发者直接使用。每个Filter一般情况下(有些Filter是abstract的),都和配置文件的一个元

3、素(有的情况下可能是属性)对应。比如:AUTHENTICATION_PROCESSING_FILTER,对应配置文件里面的:http/form-login元素。 如果Spring提供的Filter不能满足系统的权限功能,开发者可以自定义Filter,然后把Filter放在某个FilterChain的某个位置。可以替换掉原有FilterChain的某个Filter,也可以放在某个Filter之前或者之后。 总之,SpringSecurity采用FilterChain模式判断权限,Spring提供了一些Filter,也支持开发者自定义Filter。与WEB系统的集成使用JavaEE的Filter(

4、非Spring的Filter)机制,将需要权限判断的url,“牵引”给Spring的FilterChain即可。 一般情况下,将所有的url都引入FilterChain。当然也可以在web.xml配置需要权限判断的url(配置filter-mapping/url-pattern)。Spring的配置文件也支持过滤掉不需要权限判断的url(配置http/intercept-url元素)。控制内容SpringSecurity提供了如下内容的控制:1.      url;2.      beanmethod;3.      httpsession。 url:可以分为需要权限判断的url,不需要权限判

5、断的url,登录表单url。通过我对spring相关帖子和参考文档的阅读,需要权限判断的url。仅限于做角色判断,就是说判断当前用户是否具有指定的角色。 beanmethod:Spring支持对Servicelayermethod做权限判断。通过我对spring相关帖子和参考文档的阅读,也仅限于做角色判断。配置方式有2种:1. 写在Java源代码里面,如:@Secured("ROLE_TELLER")(该方法只有具有TELLER角色的用户能够访问,否则抛出异常);2. 写在配置文件里面,如:(该bean的所有s

6、et方法,只有具有ADMIN角色的用户能够访问,否则抛出异常)。3.httpsession:控制一个用户名是否能重复登录,以及重复登录次数,并非重试密码次数。 另外,SpringSecurity还提供了如下一些功能:1.      rememberme,记住我;2.      form-login登录控制;3.      多种身份认证功能;4.      用户密码加密和“salt”功能;5.      http协议控制;6.      访问端口控制;7.      Pre-Invocation&After-Invocation。 rememberme,记住我:还记得浏览器采用cookie记住用

7、户名和密码自动登录吗?好像就是这个(不知道我理解错了没有,应该没有。只是我不大敢相信)。使用这个功能,开发者在登录页面,使用spring自定义的标签。 form-login登录控制:有些页面不允许匿名访问,那么当匿名访问这些页面的时候,将弹出(或者转到)form-login窗口(或者页面)。这里又牵引出2个问题:1,输入用户名和密码后怎样验证;2,密码是否需要加密,怎么加密。 多种身份认证功能:S

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

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

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