Apache Shiro 安全框架入门系列—1-框架概览
Apache Shiro专注于易用性,其拥有可靠的安全性,诸如稳定的身份认证、授权、加密和会话管理。 通过Shiro易于理解的API,您可以快速而轻松地安全构建任何应用程序。 开始吧!
下面是一些入门的基础准备和学习导引,帮助你更好的学习,包括
1、Apache Shiro Java安全框架简介:
Apache Shiro的首要目标是易于使用和理解。 ,安全性有时候可能非常复杂,甚至很痛苦,但不必一定如此。
2、术语:
由于术语的使用,安全性可能真的很迷糊人。 通过澄清一些核心概念,将使我们生活得更轻松些,也便于理解它们如何反映在Shiro API中。
3、10分钟入门教程:
在10分钟内了解Shiro框架的所有细节。 这个快速简单的教程展示了开发人员在其应用程序中如何使用Shiro。(已发布)
4、第一个Shiro应用:
如果您是Apache Shiro的新手,这个简短的教程将向您展示如何配置一个由Apache Shiro保护的非常简单的安全应用程序。 我们将一路讨论Shiro的核心概念,以帮助您熟悉Shiro的设计和API。
5、架构:
基于建模对于软件开发人员来说已经是很直观的,Apache Shiro在几乎任何应用程序中都保持直观且易于使用的特性。
6、浅入深出的文章:
由Apache Shiro社区成员编写的文章和指南。
7、Apache Shiro项目背景:
Apache Shiro就像大多数有用的工具一样,是根据需要创建的。 详细了解项目历史和使命陈述。
2、Shiro Java安全框架简介
2.1 Apache Shiro是什么?
Apache Shiro是一个功能强大且灵活的开放源代码安全框架,可以干净地处理认证、授权、企业会话管理和加密。
Apache Shiro的首要目标是易于使用和理解。 有时候,安全性可能非常复杂,甚至很痛苦,但并不必一定如此。 框架应该尽可能地掩盖复杂性,并公开一个干净而直观的API,以简化开发人员确保其应用程序安全的努力。
这里是一些可以用Apache Shiro处理的事情:
•认证用户以验证其身份
•为用户执行访问控制,例如:
- 确定用户是否被分配了某个安全角色
- 确定用户是否被允许执行某项操作
•在任意环境中使用Session API,即使没有Web或EJB容器。
•在认证、访问控制或会话生命周期中响应事件。
•聚集用户安全数据的一个或多个数据源,并将其作为单个复合用户"视图"呈现。
•启用单点登录(SSO)功能
•无需登录即可为用户关联启用"记住我"服务
...
以及更多 - 全部集成到一个内聚易用API中。
Shiro试图为所有应用程序环境实现这些目标 - 从最简单的命令行应用程序到最大的企业应用程序,而不强制依赖于其他第三方框架、容器或应用程序服务器。 当然,该项目旨在尽可能融入这些环境中,而且能在任何环境中“开箱即用”。
2.2 Apache Shiro特性
Apache Shiro是一个具有许多特性的综合应用程序安全框架。 下图显示了Shiro集中精力的地方,与本参考手册的组织方式相似:
Shiro的目标是Shiro开发团队称之为"应用程序安全的四大基石" - 认证,授权,会话管理和加密:
•身份认证(Authentication):有时称为"登录",这是证明用户的行为是他们自称的人。
•访问授权(Authorization):访问控制的过程,即确定"谁"访问"什么"。
•会话管理(Session Management):即使在非Web或EJB应用程序中,也可以管理用户特定的会话。
•加密(Cryptography):使用加密算法确保数据安全,同时易于使用。
还有其他功能可以在不同的应用环境中支持和强化这些问题,特别是:
•Web支持:Shiro的Web支持API可帮助轻松保护Web应用程序安全。
•缓存(Caching):缓存是Apache Shiro API中的第一级公民,可确保安全操作快速高效。
•并发性:Apache Shiro支持具有并发功能的多线程应用程序。
•测试:测试支持的存在,帮助您编写单元测试和集成测试,并确保您的代码按预期得到保护。
•"运行方式":允许用户假设其他用户身份(如果允许)的功能,有时在管理方案中很有用。
•"记住我":在跨会话中记住用户的身份,以便在强制时只需登录即可。