shiro 扩展角色管理,添加anyRole

public class AnyRolesFilter extends AccessControlFilter {

    @Override
    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
        String[] roles = (String[]) mappedValue;
        if(roles != null){
            for(String role:roles){
                if(getSubject(request,response).hasRole(role)){
                    return true;
                }
            }
        }
        return false;
    }

    @Override
    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
        //如果登陆了还没权限则表示真的权限
        if(getSubject(request, response).isAuthenticated()){
            WebUtils.issueRedirect(request,response,"/unauthorized.jsp");
        }else{
            //可能是没登陆才没权限
            WebUtils.issueRedirect(request,response,"/login.jsp");
        }
        return false;
    }
}
ini配置:
[filters]
anyRoles=com.test.shiro.filter.AnyRolesFilter
[urls]
/user=authc,anyRoles[user,admin]
时间: 2024-10-11 22:19:05

shiro 扩展角色管理,添加anyRole的相关文章

SpringBoot 集成 Shiro:使用Shiro的角色管理(五)

Shiro的角色管理,可以根据 添加Role实体类,修改User类,修改数据源 @Getter @Setter @AllArgsConstructor public class Role implements Serializable { private String name; } Role.java @Getter @Setter public class User implements Serializable { private String id; private String use

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目笔记 第8天 今天内容安排: 1.权限管理(初始化.查询.添加) 2.角色管理(添加.查询) 3.用户管理(添加.查询) 4.修改自定义Realm中的授权方法(基于数据库实现) 5.使用ehcache缓存权限数据 6.系统左侧菜单根据登录人的权限动态展示 1. 权限管理 1.1 初始化权限数据 执行sql脚本文件初始化权限数据: 1.2 权限分页查询 第一步:修改页面中datagrid的URL地址,访问FunctionAction的pageQuery的分页查询方法 第二步:创建Func

SpringBoot 集成 Shiro:使用Shiro的权限管理(六)

上一章使用了Shiro的角色管理,现在加入粒度更小的权限管理,即根据用户角色分配的权限来判断用户能否访问页面 准备实体类和修改数据源 @Getter @Setter public class Role implements Serializable { private String name; private Set<Permission> permissions; public Role(String name) { this.name = name; this.permissions =

ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十二节--小结,Bootstrap Table之角色管理

返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 很多人说ABP不适合高并发大型,有一定的道理,但是我觉得还是可以的,就看架构师的能力了,我之前公司就是ABP绝对百万数据级项目,是一个在线教育网站,涉及到平台,学院,院系,班级,课程,学生等,一个平台多少大学,一个大学多少院系,一个院系多少班级多少课程,其负责程度一点都不简单,不说了,那是大神,比我在园子看到绝对大多数架构师都强悍.是我等仰望都对象.但是这不是停下脚步仰望的理由,只会是我们追求更强的脚步. 软件

区块链应用于物联网:一种应用于物联网的,可扩展访问管理的体系结构

Title:区块链应用于物联网:一种应用于物联网的,可扩展访问管理的体系结构 Abstract:物联网正在从它的婴儿期走出去,进入完全的成熟期,并且它正在使自己成为未来互联网的一员.对于部署在全球数十亿的设备的管理能力,是其中一个技术挑战.虽然物联网中已经出现访问管理技术,但是这些技术都基于集中式框架,这种框架引进了一些新的全球管理设备的技术限制.在这篇论文中,我们提出了在物联网中对于仲裁角色(仲裁规则?)和权限的一个体系结构(新框架).这个新体系结构是一个针对物联网的完全分布式的访问控制系统,

JavaWeb | 之 | 角色管理的表结构设计和原理

1, 根据实际工作的实际需要,不同的角色会有不同的权限,因此出现   角色管理,表结构总结如下: 首先:数据库表结构: a.角色表: b.权限表: c.角色和权限的中间表,关联角色权限 这是相应的三个表结构,赋予角色,删除角色,修改角色,只要往中间表里面添加相应的数据,就可以啦 自己简单写了写,效果很low,但是具体的效果还是可以实现的啦: 具体代码,等整理好了再上.

解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法

在Windows Server 2008下直接安装VS 2008时,会出现如下错误: 必须使用"角色管理工具"安装或配置Microsoft .NET Framework 3.5 SP1 解决方法如下: 打开"服务器管理器" ,在"功能"选项中选择"添加功能"并在"添加功能向导"中选择".NET Framework 3.5"复选框,添加所需的相关服务,安装,即可

七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

注:本文为学习摘录,原文地址为:http://www.cnblogs.com/powertoolsteam/p/MVC_five.html 目录 实验22——添加页脚 实验23——实现用户角色管理 实验24——实现项目外观一致性 实验25——使用Action  过滤器让页眉和页脚代码更有效 总结 实验22——添加页脚 在本实验中,我们会在Employee 页面添加页脚,通过本实验理解分部视图. 什么是“分部视图”? 从逻辑上看,分部视图是一种可重用的视图,不会直接显示,包含于其他视图中,作为其视

安装 SQL SERVER 2008 必须使用 &quot;角色管理工具&quot; 错误 的 解决方案 (转)

刚在服务器(Win2008)上安装SqlServer2008的时候出现了这么一个报错——必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1.一开始以为是没装3.5,后来看了一下服务器上已经装了VS2010了,于是排除这个可能性.Google了一下,于是找到问题的解决方法.(尼玛,最近老是要去服务器上安装和部署各种东西然后就遇到各种问题\("▔□▔)/) 1.问题表现如下,弹出来一提示框:     2.根据提示,先打开角色管理工具.“控制面板”-&g