Introduction to Apache Shiro Shiro简介
Introduction to Apache Shiro
What is Apache Shiro
shiro是一个强大易用的Java安全框架用于验证(authentication),授权(authorization),密码学(crytography)和会话管理(session management)。由于shiro简单易懂的API,能够快速,轻松保护将一些小的手机应用变为大型的Web或企业级应用。
使用Apache Shiro你可以做以下事情:
-
验证一个用户的身份
-
对用户进行访问控制,例如
确定用户是否被分配了特定的安全角色
确定用户是否被允许去做某事
-
即使没有web或EJB容器的情况下也可以在任何环境中使用Session API
-
在身份验证,访问控制或会话周期内对事件作出响应
-
聚合一个或多个用户安全数据源并将其呈现为一个组合用户视图(user view)
-
支持单点登录(SSO,Single Sign On)功能
-
无需登录支持“记住我”服务于用户关联
-
还有更多都集成到内聚的,易于使用的API中
shiro尝试为所有应用程序环境(从最简单的命令行程序到最大型的企业级应用)实现这些目标,不必强依赖其他第三方框架、容器,或应用服务器。当然项目的目标是旨在尽可能可能的整合到这些环境中,但是可在任何环境中开箱即用地使用它。
Apache Shiro的特性
Apache Shiro是一个具有许多功能的全面的应用安全框架。
下面这张图展示了Shiro关注的地方,也是这个手册所介绍的地方
Shiro开发团队以及以“应用程序的四块基石”为目标-验证,授权,会话管理,密码学
-
Authentication
验证,有时也叫登录,这是一种证明用户就是他们所说身份的行为
-
Authorization
授权,访问授权的过程,即确定“谁(who)”有权访问“什么(what)”
-
Session Management
即使在非Web或EJB应用程序中,也管理用户特定的会话
-
Cryptography
使用密码算法保证数据安全并且易于使用
在不同的应用程序环境中还有额外的功能来支持与加强这些目标特别是:
- 网络支持(Web Support):shiro的网络支持API可以轻松的保护网络应用程序
- 缓存(Caching):缓存是Apache ShiroAPI的第一层公民以确保安全操作的快速有效
- 并发(Concurency):Apache Shiro支持多线程应用的并发特性
- 测试(Testing):测试支持的存在帮助您编写单元测试和集成测试以确保您的代码像预期那样安全
- “Run As”:一种功能,允许用户使用其他用户的身份(如果允许),有时在管理场景中很有用
- “Remember Me”:记住跨会话的用户身份,这样他们只需要在必要时登录
原文https://shiro.apache.org/introduction.html