几行代码实现shiro超级管理员的功能

简介: 在项目开发中,需要实现shiro的超级管理员功能。但网上查了一下相关实现,发现很多实现都是在用户获取权限资源时,如果是超级管理员,就将系统的全部权限,角色赋给用户。

在项目开发中,需要实现shiro的超级管理员功能。
但网上查了一下相关实现,发现很多实现都是在用户获取权限资源时,如果是超级管理员,就将系统的全部权限,角色赋给用户。
我个人觉得该方法比较复杂,取权限资源时,还要特别为超级管理员做特殊的处理。实际项目中,有没有更简单的方法呢?
答:有的,只需要很简单的实现.
实现方式如下:
在集成shiro时,我们都需要继承AuthorizingRealm该类,实现只需要重写里面的isPermitted及hasRole方法即可。
示例代码如下:

public class MyShiroRealm extends AuthorizingRealm {
  @Override
   public  boolean isPermitted(PrincipalCollection principals, String permission){
        SecurityUser user = (SecurityUser)principals.getPrimaryPrincipal();
       return user.isAdmin()||super.isPermitted(principals,permission);
   }
    @Override
    public boolean hasRole(PrincipalCollection principals, String roleIdentifier) {
        SecurityUser user = (SecurityUser)principals.getPrimaryPrincipal();
       return user.isAdmin()||super.hasRole(principals,roleIdentifier);
    }
    。。。。
    }

该方法如此的简单,比我们用什么拦截器的都简单方便.
注意,该方法只适用于使用注解RequiresRoles,RequiresPermissions的权限拦截!

相关文章
|
2月前
|
缓存 算法 Java
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
46 0
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
|
4月前
|
XML 前端开发 数据安全/隐私保护
Shiro - RememberMe记住我功能实现
Shiro - RememberMe记住我功能实现
41 1
|
4月前
|
前端开发 Java 数据库
基于RBAC的权限模型+shiro+springboot实现的系统登陆权限认证模块
基于RBAC的权限模型+shiro+springboot实现的系统登陆权限认证模块
47 0
|
6月前
|
测试技术 数据安全/隐私保护
09 Shrio 授权的代码实现
09 Shrio 授权的代码实现
27 0
|
10月前
|
安全 Java Apache
Springboot整合shiro:实现用户登录和权限验证
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。当然类型大家也可以使用spring security;因为我平时开发的项目都是中小型的,所以使用shiro对于业务来说已经够用了,那么下面是我整理的整合记录;
118 0
|
Java 数据库 数据安全/隐私保护
用shiro框架实现注册登陆,让你快速理解shiro用法
用shiro框架实现注册登陆,让你快速理解shiro用法
444 0
用shiro框架实现注册登陆,让你快速理解shiro用法
|
存储 NoSQL 安全
权限管理-整合 SpringSecurity 代码过程 | 学习笔记
快速学习 权限管理-整合 SpringSecurity 代码过程
138 0
权限管理-整合 SpringSecurity 代码过程 | 学习笔记
SSM如何整合Shiro实现权限登陆案例
SSM如何整合Shiro实现权限登陆案例
59 0
|
缓存 安全 数据库
shiro登录认证过程
shiro登录认证过程
shiro登录认证过程
|
前端开发 Java 数据库
登录功能代码实现 | 学习笔记
快速学习登录功能代码实现
130 0
登录功能代码实现 | 学习笔记