什么是Apache Shiro?
什么是Apache Shiro?
Apache Shiro是一个强大灵活的Java安全框架,提供了认证、授权、会话管理和安全加密等功能,对于任何一个应用程序,Shiro都可以提供全面的安全管理服务、更易于理解的API。并且相对于其他安全框架,Shiro要简单的多。
Apache Shiro可以做的一些事情:
-
验证用户以验证其身份
-
为用户执行访问控制,例如:
-
确定是否为用户分配了某个安全角色
-
确定是否允许用户执行某些操作
-
-
在任何环境中使用Session API,即使没有Web容器或EJB容器也是如此。
-
在身份验证,访问控制或会话生命周期内对事件做出反应。
-
聚合用户安全数据的1个或多个数据源,并将其全部显示为单个复合用户“视图”。
-
启用单点登录(SSO)功能。
-
无需登录即可为用户关联启用“记住我”服务。
Apache Shiro与Spring Security的比较
相比较Spring Security,Shiro要更轻量级,但是Shiro没有Spring Security做的功能强大,实际工作中可能并不需要那么复杂的功能,所以一般的应用程序使用Shiro就够了。
Apache shiro功能
-
Authentication:有时也称为“登录”,这是证明用户是他们所说的人的行为。
-
Authorization:访问控制的过程,即确定“谁”可以访问“什么”。
-
Session Management:即使在非Web或EJB应用程序中,也可以管理特定于用户的会话。
-
Cryptography:使用加密算法保持数据安全,同时仍然易于使用。
-
Web Support:Web 支持,可以非常容易的集成到 Web 环境;
-
Caching:缓存,比如用户登录后,其用户信息、拥有的角色 / 权限不必每次去查,这样可以提高效率;
-
Concurrency:shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;
-
Testing:提供测试支持;
-
Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;
-
Remember Me:记住用户在会话中的身份,这样他们只需要在强制要求时登录。
“扫码关注“