关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

shiro入门视频教程16:shiro spring整合之realm授权

Javaweb admin 浏览 评论

shiro入门视频教程16:shiro spring整合之realm授权(如果shiro视频不清晰请选择高清模式)

修改realm的doGetAuthorizationInfo,从数据库查询权限信息,视频中将介绍以下两种realm授权方式

1:使用注解式授权方法。
2:使用jsp标签授权方法。

// 用于授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(
  PrincipalCollection principals) {
 
 //从 principals获取主身份信息
 //将getPrimaryPrincipal方法返回值转为真实身份类型(在上边的doGetAuthenticationInfo认证通过填充到SimpleAuthenticationInfo中身份类型),
 ActiveUser activeUser =  (ActiveUser) principals.getPrimaryPrincipal();
 
 //根据身份信息获取权限信息
 //从数据库获取到权限数据
 List<SysPermission> permissionList = null;
 try {
  permissionList = sysService.findPermissionListByUserId(activeUser.getUserid());
 } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 //单独定一个集合对象 
 List<String> permissions = new ArrayList<String>();
 if(permissionList!=null){
  for(SysPermission sysPermission:permissionList){
   //将数据库中的权限标签 符放入集合
   permissions.add(sysPermission.getPercode());
  }
 }
 
 
 //查到权限数据,返回授权信息(要包括 上边的permissions)
 SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();
 //将上边查询到授权信息填充到simpleAuthorizationInfo对象中
 simpleAuthorizationInfo.addStringPermissions(permissions);
 return simpleAuthorizationInfo;
}


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/2017/1102/355.html