shiro 没有注销再登录_shiro 安全框架入门,看这一篇就够了

论坛 期权论坛     
选择匿名的用户   2021-5-30 02:30   130   0
<div style="font-size:16px;">
<h1 class="pgc-h-arrow-right"><strong><span style="font-weight:bold;">序言</span></strong></h1>
<p>大家好,我是老马。</p>
<p>前面我们学习了 5 分钟入门 shiro 安全框架实战笔记,让大家对 shiro 有了一个最基本的认识。</p>
<p>shiro 还有其他优秀的特性,今天我们就一起来学习一下,为后续深入学习奠定基础。</p>
<h1 class="pgc-h-arrow-right"><strong><span style="font-weight:bold;">Apache Shiro 是什么?</span></strong></h1>
<p>Apache Shiro 是一种功能强大且易于使用的Java安全框架,它执行身份验证,授权,加密和会话管理,可用于保护任何应用程序的安全-从命令行应用程序,移动应用程序到最大的Web和企业应用程序。</p>
<p>shiro 的组件结构如下图:</p>
<div class="pgc-img">
  <img alt="add82f647f9b0573a7f65af8a9d9e566.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-cace10f976ead7dc951af5606e2590b5.png">
</div>
<p>components</p>
<p>Shiro提供了应用程序安全性API来执行以下方面(我喜欢将它们称为应用程序安全性的4个基石):</p>
<ul><li>身份验证-证明用户身份,通常称为用户“登录”。</li><li>授权-访问控制</li><li>密码学-保护或隐藏数据以防窥视</li><li>会话管理-每个用户的时间敏感状态</li></ul>
<p>Shiro还支持一些辅助功能,例如Web应用程序安全性,单元测试和多线程支持,但是这些功能可以增强上述四个主要方面。</p>
<h1 class="pgc-h-arrow-right"><strong>特性</strong></h1>
<p>您可以使用Apache Shiro进行以下操作:</p>
<ul><li>验证用户身份以验证其身份</li><li>对用户执行访问控制,例如:</li><li>确定是否为用户分配了特定的安全角色</li><li>确定是否允许用户做某事</li><li>即使在没有Web或EJB容器的情况下,也可以在任何环境中使用Session API。</li><li>在身份验证,访问控制或会话的生存期内对事件做出反应。</li><li>汇总1个或更多用户安全数据的数据源,并将其全部显示为单个复合用户“视图”。</li><li>启用单点登录(SSO)功能</li><li>启用“记住我”服务以进行用户关联,而无需登录</li></ul>
<h1 class="pgc-h-arrow-right"><strong>为什么要使用 Apache Shiro?</strong></h1>
<p>自2003年以来,框架环境发生了很大变化,因此今天仍然有充分的理由使用Shiro。</p>
<p>Apache Shiro 优势如下:</p>
<ul><li>易于使用-易于使用是该项目的最终目标。应用程序安全性可能非常令人困惑和沮丧,并被视为“必不可少的恶魔”。如果您使它易于使用,以使新手程序员可以开始使用它,那么就不必再痛苦了。</li><li>全面-没有任何其他安全框架具有Apache Shiro所声称的范围广度,因此它很可能是满足您的安全需求的“一站式服务”。</li><li>灵活-Apache Shiro可以在任何应用程序环境中工作。虽然它可以在Web,EJB和IoC环境中运行,但不需要它们。 Shiro也不要求任何规范,甚至没有很多依赖性。</li><li>具有Web功能-Apache Shiro具有出色的Web应用程序支持,可让您基于应用程序URL和Web协议(例如REST)创建灵活的安全策略,同时还提供了一组JSP库来控制页面输出。</li><li>可插拔-Shiro简洁的API和设计模式可轻松与许多其他框架和应用程序集成。您会看到Shiro与Spring,Grails,Wicket,Tapestry,Mule,Apache Camel,Vaadin等框架无缝集成。</li><li>受支持-Apache Shiro是Apache Software Foundation的一部分,该组织被证明以其社区的最大利益行事。项目开发和用户群体友好的公民随时可以提供帮助。如果需要,像Katasoft这样的商业公司也可以提供专业的支持和服务。</li></ul>
<h1 class="pgc-h-arrow-right"><strong>核心概念:Subject,SecurityManager 和 Realms</strong></h1>
<p>Shiro的体系结构具有三个主要概念-主题(Subject),安全管理器(SecurityManager)和领域(Realms)。</p>
<div class="pgc-img">
  <img alt="2863326a557ae8d19df63fe5f5ed2f8b.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-07d13980121e63c93144133be7a2e5ad.png">
  <p class="pgc-img-caption">概念</p>
</div>
<h1 class="pgc-h-arrow-right"><strong>Subject</strong></h1>
<p>在保护应用程序安全时,可能要问自己最相关的问题是:“当前用户是谁?”或“是否允许当前用户执行X”?</p>
<p>在编写代码或设计用户界面时,我们通常会问自己以下问题:应用程序通常是基于用户案例构建的,并且您希望基于每个用户来表示(和保护)功能。</p>
<p>因此,我们考虑应用程序安全性的最自然方法是基于当前用户。</p>
<p>Shiro的API从根本上代表了这种思维方式。</p>
<p>“主题”一词是一个安全术语,基本上表示
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP