logo资料库

shiro个人总结ppt.ppt

第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
资料共52页,剩余部分请下载后查看
Shiro使用简介
核心组件 • Subject • SecurityManager • Realms
核心组件 • Subject:即“当前操作用户” • SecurityManager:它是Shiro框架的核心,典型 的Facade模式,Shiro通过SecurityManager来管 理内部组件实例,并通过它来提供安全管理的各 种服务 • Realm充当了Shiro与应用安全数据间的“桥梁” 或者“连接器”。也就是说,当对用户执行认证 (登录)和授权(访问控制)验证时,Shiro会从 应用配置的Realm中查找用户及其权限信息
Shiro完整架构图
其他主要组件 • Authenticator :认证 ,核实用户身份 • Authorizer :授权 ,访问控制 • SessionManager : • CacheManager :对Shiro的其他组件提供缓 存支持
Shiro认证过程
Shiro认证过程 1、应用程序构建了一个终端用户认证信息的 AuthenticationToken 实例后,调用Subject.login方法。 2、Sbuject的实例通常是DelegatingSubject类(或子类) 的实例对象,在认证开始时,会委托应用程序设置的 securityManager实例调用securityManager.login(token)方 法。 3、SecurityManager接受到token(令牌)信息后会委托内置 的Authenticator的实例(通常都是 ModularRealmAuthenticator类的实例)调用 authenticator.authenticate(token). ModularRealmAuthenticator在认证过程中会对设置的一 个或多个Realm实例进行适配,它实际上为Shiro提供了一 个可拔插的认证机制。
Shiro认证过程 4、如果在应用程序中配置了多个Realm, ModularRealmAuthenticator会根据配置的 AuthenticationStrategy(认证策略)来进行多Realm的认证 过程。在Realm被调用后,AuthenticationStrategy将对每 一个Realm的结果作出响应。 注:如果应用程序中仅配置了一个Realm,Realm将被直 接调用而无需再配置认证策略。 5、判断每一个Realm是否支持提交的token,如果支持, Realm将调用getAuthenticationInfo(token); getAuthenticationInfo 方法就是实际认证处理,我们通过 覆盖Realm的doGetAuthenticationInfo方法来编写我们自 定义的认证处理。
分享到:
收藏