Apache Shiro 权限框架详解:身份认证、授权、加密等功能

需积分: 50 3 下载量 43 浏览量 更新于2024-07-19 收藏 2.25MB PDF 举报
Shiro权限框架学习 Shiro权限框架是Apache软件基金会提供的一个开源的Java安全框架,主要用于身份认证、授权、加密、会话管理、Web集成、缓存等多方面的安全管理。下面是Shiro权限框架的详细知识点: 一、Shiro简介 Apache Shiro是一个Java安全框架,提供了身份认证、授权、加密、会话管理、Web集成、缓存等多方面的安全管理功能。Shiro可以非常容易地开发出足够好的应用,既可以用在Java SE环境,也可以用在Java EE环境。 二、Shiro的功能简介 1. 认证(Authentication):身份认证/登录,验证用户是否拥有相应的身份。 2. 授权(Authorization):授权,即权限验证,验证某个已认证的用户是否拥有某个权限。 3. 会话管理(SessionManager):会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中。 4. 加密(Cryptography):保护数据的安全性,如密码加密存储到数据库,而不是明文存储。 5. Web支持(WebSupport):可以非常容易地集成到Web环境。 6. 缓存(Caching):缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率。 7. 并发验证(Concurrency):Shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能够把权限自动传播过去。 8. 测试支持(Testing):提供测试支持。 9. 假装身份(RunAs):允许一个用户假装为另一个用户(如果他们允许)的身份进行访问。 10. 记住我(RememberMe):记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。 三、Shiro架构 从外部来看Shiro,即从应用程序角度的来观察如何使用Shiro完成工作。Shiro架构主要由以下几个部分组成: 1. Subject:应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subject。Subject代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫、机器人等。 2. SecurityManager:SecurityManager是Shiro的核心组件,负责管理所有的安全相关操作。 四、Shiro的优点 1. 灵活性强:Shiro可以非常容易地开发出足够好的应用,既可以用在Java SE环境,也可以用在Java EE环境。 2. 安全性强:Shiro提供了多方面的安全管理功能,如身份认证、授权、加密、会话管理等。 3. 扩展性强:Shiro提供了多种插件和扩展点,能够满足不同的安全需求。 Shiro权限框架是一个功能强大、灵活、安全的Java安全框架,广泛应用于各种Java应用程序中。