一、实现类继承authorizingrealm
1、实现方法doGetAuthenticationInfo,将定义的用户实体类填充map,realmPrincipals;
2、实现方法doGetAuthorizationInfo,填充roles ,Permissions;
二,创建subject
提供SecurityUtils getSubject 方式创建,securityManager.createSubject,SubjectContext中进行确认map中已经存在securityManager,session以及PrincipalCollection,最后DefaultWebSubjectFactory创建webDelegatingSubject,并保存到session中。
三、登录验证
登录创建,DelegatingSubject login方法执行securityManager login,创建同第二步。
四、登出
DelegatingSubject logout方法执行securityManager logout,删除session中的subject,stop session。
五、关于ModularRealmAuthenticator
ModularRealmAuthenticator类在项目启动时setRealms(第一步中定义,不清楚为什么项目启动时注入),doSingleRealmAuthentication方法调用realm的doGetAuthorizationInfo
以上就是实例讲解shiro登录认证和权限控制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号