- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Apache Shiro 框架解析
Apache Shiro设计理念是用直观、简单的方式来保证应用的安全。软件设计通常是基于用户故事来实现的,也就是会根据用户如何与系统交互来设计用户接口或者服务API。比如这样一个用户故事,用户登录后会显示一个查看个人账户信息的按钮,如果用户未注册,则显示一个注册按钮。这个用户故事暗含了应用主要应完成的用户需求。即使这里的用户不是人而是第三方系统,在编码时也同样当做与系统交互的“用户”来处理。Apache Shiro的这种理念反应在自己的设计中,通过将直观的概念暴露给开发人员,使得Apache Shiro在几乎所有的应用中都易于使用。概述Shiro有三个主要的顶级概念:Subject、SecurityManager、Realms。下图描述了这几个概念之间的交互,下面也将一一做介绍。Subject:Subject是当前用户在安全领域的一个缩影。User通常暗含人的意思,而Subject可以是人,可以是第三方服务,守护账户,corn作业。或者说是任何与系统交互的都可以叫做Subject。所有的Subject实例都必须绑定到一个SecurityManager,这样当与Subject交互时,其实已经转化成与这个Subject相关联的SecurityManager进行交互。 SecurityManager:SecurityManager作为Shiro框架的核心,作为“保护伞”对象的形式存在,它协调其内部安全组件形成一个对象图。当在应用中完成SecurityManager和其内部对象的配置后,SecurityManager就退居二线,开发人员大部分时间都是在使用Subject的API。随后会深入讲解SecurityManager,再次强调:当与Subject交互时,实际上是隐藏其背后的SecurityManager负责Subject繁重的安全操作。这点在上面的图中也有所体现。 Realms:Realms作为Shiro和应用中安全数据源之间的桥梁或者连接器。当需要获取用户账户进行认证(登陆)或授权(访问控制)时,Shiro就会在应用的配置中查找负责这项工作的Realm(一个或多个)来完成获取安全数据。从这点上讲,Realm实质上就是一个与安全相关的Dao:它封装了数据源链接的详情,并根据Shiro的需要为其提供数据。配置Shiro时,要为认证和授权至少提供一个Reaml。可配置多个Realm,但是至少需要一个。Shiro内置了可以连接大量安全数据源的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。如果内置的Realm不能满足需求,你还可以使用代表自定义数据源的自己的Realm实现。和其他内部组件一样,SecurityManager管理Realm如何获取与Subject相关的安全和身份信息。 框架详解下图展现了Shiro框架的核心概念,随后会一一对其作出简短说明:Subject(org.apache.shiro.subject.Subject )安全领域中用户的缩影,可以是人,第三方服务,corn作业等,负责与系统交互。SecurityManager(org.apache.shiro.mgt.SecurityManager)就像上文提到的,SecurityManager是Shiro框架的核心。它充当“保护伞”对象的作用,内部协调各个组件,以确保它们顺利开展工作,而且还负责管理Subject,这样它也就获悉了每个Subject怎么执行安全操作了。Authenticator(org.apache.shiro.authc.Authenticator)Authenticator负责发出和处理用户的认证请求。当用户登录时,Authenticator负责处理登录逻辑。Authenticator可通过一个或多个Realm获取用户信息,这些信息用来验证当前用户身份。验证策略(org.apache.shiro.authc.pam.AuthenticationStrategy)如果配置了多个Realm,就需要AuthenticationStrategy协调Realms来决定在什么样的情况下一个认证的是成功的或失败的。(比如,一个realm认证成功,其他失败,那认证是否通过呢?)Authorizer (org.apache.shiro.authz.Authorizer)Authorizer负责应用中用户的访问控制。它是决定用户是否可以在应用中进行某件事的机制。和Authenticator一样,Authorizer可以通过Realm获取角色和权限信息,这样Authorizer就可以确切的知道是否允许用户完成其预期的操作。SessionManager (org.apache.shiro.session.mgt.SessionMan
您可能关注的文档
- 瑞士的风俗礼仪.doc
- 产品实现工程中的虚拟现实技术和强化现实技术.doc
- tomcat内容.doc
- 《战锤:全面战争》BUFF加成修改方法解析.doc
- Tomcat设置.doc
- fcntl函数详解.doc
- 妙语短篇A1词组总结.doc
- 01vRA7.0 integrated NSX6.2之vRO配置部分.docx
- Unit4__Lesson1__说课稿.doc
- Shiro基础手册.docx
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 13套题,必过,阿坝州拟任科级领导干部任职资格政治理论考试题汇总.pdf
- 2023年关于医药领域腐败问题全面集中整治自查自纠报告与医院开展医疗领域群众身边腐败作风问题专项整治工作总结【两篇】.docx VIP
- 高中语文必修二课件--念奴娇·赤壁怀古.ppt VIP
- 高中化学选修三全套.pptx VIP
- 中国特色社会主义理论体系的形成的历史条件.ppt VIP
- 领导讲话稿写作方法和技巧.ppt
- 高中:原创语文《反对党八股》(定稿).pptx VIP
- 液压升降机油路图液压升降机毕业设计.doc VIP
- 《管理学原理》全套课后习题答案(大学期末复习资料).docx
- 高中课件:原创语文《反对党八股》公开课课件.pptx VIP
文档评论(0)