关于shiro控制一个url可以多个角色访问,
我看到这样一个说法:
第一,就是要这写些个用户拥有这些全部角色,因为如果url后面有多个角色,那么就是要同时拥有这些角色才能访问,
第二,就是重写
@SuppressWarnings({"unchecked"})
public boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws IOException {
Subject subject = getSubject(request, response);
String[] rolesArray = (String[]) mappedValue;
if (rolesArray == null || rolesArray.length == 0) {
//no roles specified, so nothing to check - allow access.
return true;
}
Set<String> roles = CollectionUtils.asSet(rolesArray);
return subject.hasAllRoles(roles);
}
}
这个方法是and逻辑 即必须匹配所有角色,你可以自己写个filter 改成or
你可以看一下org.apache.shiro.web.filter.authz.RolesAuthorizationFilter的源码,然后自己实现一个支持or关系的,而不是and关系的filter,具体,只要匹配任意一个角色就返回true,而不是之前的hasAllRoles才返回true,如果你是用spring的话,然后在spring的配置文件里配置一下类似这样的 <bean id="roleOrFilter" class="XXXX.YYYY.ZZZZ.RolesOrAuthorizationFilter">
</bean>
最后配置的时候用这样的格式:
"/orgemp/** = authc,roleOrFilter["11,12"]
分享到:
相关推荐
shiro动态URL权限控制 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配;如果没有权限直接跳到相应的错误页面。Shiro也支持类似的机制,不过需要稍微改造下来满足实际需求...
NULL 博文链接:https://vti-iteye.iteye.com/blog/1963397
是用菜单URL作为shiro的permission来管理,每一个用户分配其角色(可以有多个角色),这个系统要求必须登录才能使用,如果是对外的公开项目就不合适,shiro一般也是用在需要控制权限的项目. 每个角色分配其可以访问...
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
初学shiro和大家共勉
这是基于SpringBoot和Shiro实现的一个角色权限访问控制(RBAC)的系统。 基本描述 : 1 . 一个用户具有一个角色,或者多个角色 2 . 一个角色具有一个权限,或者多个权限 3 . 权限可以访问对应的api,或者url...
0、重点!重点!...1、本教程适用所有开发人员简单易懂,结合文章教程与demo示例。...5、基于RBAC五张表:用户表 tb_user、角色表tb_role、权限表tb_permission、用户角、表tb_user_role、角色权限tb_role_permissio
Shiro的一个demo
Apache Shiro 是 Java 的一个安全框架。本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用
SSM+Shiro实现权限角色控制,+Maven+Tomcat+Mysql,项目可直接在eclipse上跑,数据库表也附件在压缩包中。
在博客中写到了所有的关于shiro的讲解,请大家及时观看下载
这里是shrio权限与角色,入门做为一个参考
shiro控制使用跳转链接前必须登录 (这里我去除了shiro权限控制 一般项目中不用shiro权限控制功能)
权限管理原理知识,权限管理解决方案,基于url的权限管理、shiro介绍、shiro认证
一个用SSM和Shiro做的小的登录的demo
Apache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密。 以下是你可以用 Apache Shiro所做的事情: ? 验证用户 ? 对用户执行访问控制,如: ? 判断用户是否...
spring+shiro 增删改查权限控制,其中包括用户管理、角色管理、权限管理
Shiro_Demo 一个简单的Shiro验证框架实例
shiro freemarker整合 使用权限控制