- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
权限框架简介
权限系统的分类与设计 功能级别(例如菜单的显示) 操作级别(例如 按钮的权限) 数据级别(例如同一下拉框的不同数据显示) 任何一个系统必须的组成部分,且贯穿于整个系统中 最原始的就是讲权限代码耦合到业务代码中 ,不便于维护 权限模型RBAC(Role-Based Access Control) 目前最为广泛接受的权限模型.标准 RBAC 模型由 4 个部件模型组成,这 4 个部件模型分 别是基本模型 RBAC0(Core RBAC)、角色分级模型 RBAC1(Hierarchal RBAC)、角色限制模型 RBAC2(Constraint RBAC)和统一模型 RBAC3 用户--------------角色-----------权限(资源、操作) SpringSecurity简介 Spring Security也就是被大家广为熟悉的Acegi Security,2007年底Acegi Security正式成为Spring Portfolio项目,并更名为Spring Security。Spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 功能与服务 认证授权机制 Web资源访问控制 业务方法调用访问控制 领域对象访问控制 单点登录 信道安全管理等功能 保护web资源 Spring Security提供了很多的过滤器,它们拦截Servlet请求,并将这些请求转交给认证处理过滤器和访问决策过滤器进行处理,并强制安全性,认证用户身份和用户权限以达到保护Web资源的目的。对于Web资源我们大约可以只用6个过滤器来保护我们的应用系统 工作流程 当用户发出请求,过滤器需要根据web.xml配置的请求映射地址来拦截用户请求,这时Spring Security开始工作,它会验证你的身份以及当前请求的资源是否与你拥有的权限相符,从而达到保护Web资源的功能。 具体来说就是Spring的FilterChainProxy过滤器链会调用一系列的过滤器,使这些filter即能完成验证授权的本质工作,又能享用Spring Ioc的功能来方便的得到其它依赖的资源。 通道处理过滤器------集成过滤器--------认证管理过滤器-----安全认证过滤器 认证 决定用户是否有权限访问受保护资源的第一步就是要确定用户的身份,最常用的方式就是用户提供一个用户名和密码以确认用户的身份是否合法,这一步就是由认证过程过滤器调用authenticationManager(认证管理器)来完成的。使用Authentication作为入口参数(只包含用户名和密码),并在验证成功后返回一个完整的Authentication对象(包含用户的权限信息GrantedAuthority数组对象 第二步是从数据库或者其他安全系统中获取用户安全信息的源,Spring Security要做的就是将这个未认证的Authentication对象和UserDetails进行匹配,成功后将UserDetails中的用户权限信息拷贝到Authentication中组成一个完整的Authentication对象,共其它组件共享 认证管理器的实现有多种,那么ProviderManager(提供者管理器)是其中一种方式,提供者管理器)自己并不实现身份验证,而是把这项工作交给了多个认证提供者(提供者集合)或者说的多个认证来源 在实际项目中,用户的身份和权限信息可能存储在不同的安全系统中(如数据库,LDAP服务器,CA中心)。 作为程序员,我们可以根据需要选择不同的AuthenticationProvider(认证提供者)来对自己的系统提供认证服务 授权 filterSecurityInterceptor(过滤器安全拦截器),该过滤器首先调用认证管理器来判断用户是否已被成功验证,如果没有被验证则重定向到登录界面。否则,从Authentication获取用户的权限信息,然后从objectDefinitionSource中获取URL所对应的权限,最后调用accessDecisionManager(访问决策管理器)来判断用户当前拥有的权限是否与当前受保护的URL资源对应的权限匹配,如果匹配就可以访问该URL资源,否则将抛出AccessDeniedException异常并返回客户端浏览器一个403错误(如果用户定义了accessDenied页面则会被重定向到该页 决策 所有的投票者都实现了这个接口并实现了其中的
您可能关注的文档
- 实训3 收发文实训ppt.ppt
- 临床接诊与医患沟通技能实训课程设计与实践.ppt
- 3-1-3 实训 洁净室中尘埃粒子数测定技术.ppt
- 为什么吐温-80制备的乳剂(实训二)比阿拉伯胶制备的乳剂(实训一)稳定?.ppt
- 实训新闻管理系统.ppt
- 3ds Max动画实训基础教程 第六章.ppt
- 前期工作回顾及下一步工作打算.doc
- 宏观经济分析框架.ppt
- 规章制度培训2016-1-21.ppt
- Revit机电应用基础培训.pptx
- 2024年三支一扶题库检测试题打印含答案详解(模拟题).docx
- 2024年三支一扶自我提分评估及参考答案详解(典型题).docx
- 2024年三支一扶过关检测试卷附完整答案详解【历年真题】.docx
- 2024年三支一扶常考点试卷及参考答案详解(能力提升).docx
- 2024年三支一扶每日一练试卷含答案详解【培优A卷】.docx
- 2024年三支一扶试题含完整答案详解【易错题】.docx
- 2025年税务师考试《涉税服务相关法律》章节练习精选(一).pdf
- 2025年税务师考试《涉税服务实务》章节练习精选(二).pdf
- 2024年三支一扶考试彩蛋押题含完整答案详解【夺冠系列】.docx
- 2024年档案管理职称考前冲刺练习试题附答案详解【培优A卷】.docx
文档评论(0)