Shiro安全框架第六篇

自定义的Realm

这里为了演示,直接在ConstomRealm类中,模拟数据库信息存储,没有连接mysql数据库,使用HashMap集合。

设计一个查询信息的接口,根据用户名返回用户密码,模拟到数据库查询相关用户信息。

接下来在认证方法中实现自定义Realm的认证的代码编写,从主体中获取认证信息用户名,通过用户名过去密码,查询到用户,则返回AuthenticationInfo对象。

测试代码

下面在doGetAuthorizationInfo(PrincipalCollection principals)实现用户角色权限验证

首先我们应该模拟数据库,设计查询用户角色,以及权限的接口,这里也是为了方便直接根据认证用户的信息获取用户的角色权限。在这里模拟的是提交的用户是否jiuyue,如果是则具有集合中的权限(相当于数据库中这个用户拥有的权限)。

权限验证,提交用户的信息与从数据库或者缓存中获取用户角色信息进行比较验证,如果该用户拥有对应权限,则,返回AuthorizationInfo对象。

测试代码:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181128G14NT900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券