shiro使用总结-自定义Realm
来源:互联网 发布:极简网盘系统源码 编辑:程序博客网 时间:2024/05/22 11:34
上篇博客的代码使用的是shiro自带的IniRealm,IniRealm从ini配置文件中读取用户的信息,大部分情况下需要从系统的数据库中读取用户信息,所以需要自定义realm。
shiro提供的realm
最基础的是Realm接口,CachingRealm负责缓存处理,AuthenticationReal负责认证,AuthorizingRealm负责授权,通常自定义的realm继承AuthorizingRealm。
自定义realm代码:
public class CustomRealm1 extends AuthorizingRealm { @Override public String getName() { return "customRealm1"; } //支持UsernamePasswordToken @Override public boolean supports(AuthenticationToken token) { return token instanceof UsernamePasswordToken; } //认证 @Override protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken token) throws AuthenticationException { //从token中 获取用户身份信息 String username = (String) token.getPrincipal(); //拿username从数据库中查询 //.... //如果查询不到则返回null if(!username.equals("zhang")){//这里模拟查询不到 return null; } //获取从数据库查询出来的用户密码 String password = "123";//这里使用静态数据模拟。。 //返回认证信息由父类AuthenticatingRealm进行认证 SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo( username, password, getName()); return simpleAuthenticationInfo; }}
shiro-realm.ini
[main]#自定义 realmcustomRealm=cn.itcast.shiro.authentication.realm.CustomRealm1#将realm设置到securityManagersecurityManager.realms=$customRealm
阅读全文
0 0
- shiro使用总结-自定义Realm
- Shiro-学习总结-认证之自定义realm
- Shiro使用之自定义realm的编写
- shiro自定义realm无法使用注解
- shiro自定义Realm
- Shiro入门-自定义realm
- Shiro自定义Realm
- shiro自定义Realm实现
- Shiro 自定义realm认证
- 【shiro】--- 自定义realm
- Shiro(四) 自定义Realm
- 使用shiro进行登录校验;自定义realm的实现
- shiro 权限框架自定义Realm
- (六)shiro自定义realm
- shiro笔记3《自定义Realm》
- 6、 Shiro中的自定义Realm
- 自定义realm shiro加密配置
- 【shiro】shiro学习笔记2-自定义realm
- matlab中dir()函数的使用
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- python(1)练习题
- HDU 6125 Free from square
- Vue.js学习笔记
- shiro使用总结-自定义Realm
- 初级排序算法(algs4)
- C程序编译过程浅析
- Selenium2+Python2.0自动化测试【6】 键盘事件
- 3d图形学中的uv坐标
- android开发让 actionbar 透明
- 学习笔记13-C++-内存分配
- 如何在系统应用中添加一个没有源码只有apk文件的应用模块
- Linux通过PID查看进程完整信息