shiro的核心组件是什么?认证流程是什么?
时间: 2023-09-26 18:14:09 浏览: 113
shiro的全流程demo,世界shiro在spring中认证、授权流程,自定义授权类型,分布式session、授权缓存的实现
Shiro的核心组件包括:
1. Subject:表示当前与系统交互的用户,可以是一个人、设备或者其他系统。
2. SecurityManager:管理所有的Subject,负责进行认证(Authentication)和授权(Authorization)等操作。
3. Realm:用于验证用户身份和获取用户权限的组件,可以自定义实现以适应不同的身份认证方式和数据源。
Shiro的认证流程如下:
1. 用户提交身份信息(如用户名和密码)。
2. SecurityManager收到身份信息后委托给相应的Realm进行身份验证。
3. Realm将用户提供的身份信息与数据源进行比对,验证身份是否正确。
4. 如果身份验证通过,SecurityManager会生成一个表示用户身份的AuthenticationToken。
5. Subject将AuthenticationToken提交给SecurityManager进行授权操作。
6. SecurityManager根据用户的身份和权限信息进行授权,并将结果返回给Subject。
7. Subject根据授权结果决定是否允许用户访问相应的资源。
需要注意的是,Shiro支持多种身份认证方式和权限控制策略,可以根据具体需求进行配置和扩展。以上是一个简单的认证流程示例,实际使用时可能会根据具体情况进行定制。
阅读全文