`
dwangel
  • 浏览: 261869 次
社区版块
存档分类
最新评论

Shiro 1.2.1及以前版本,不支持url配置anyRoles

 
阅读更多
Shiro是一个很具灵活性的验证框架。

不过也有些不完美的地方。

因为,本身支持了permission级别的权限验证,role级别的就没怎么弄。

结果 RolesAuthorizationFilter 是按照 hasAllRoles来判断的。
http://shiro-user.582556.n2.nabble.com/Shiro-ini-multiple-roles-for-one-url-td6806837.html

因此想要 得到 满足一个role列表即可的判断,要自己实现判断的filter,代码如下。

public class MyRolesAuthorizationFilter extends AuthorizationFilter {

    @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 false;
        }

        List<String> roles = CollectionUtils.asList(rolesArray);
        boolean[] hasRoles = subject.hasRoles(roles);
        for (boolean hasRole : hasRoles) {
            if (hasRole) {
                return true;
            }
        }
        return false;
    }
}
分享到:
评论

相关推荐

    Shiro1.2.1

    Apache_Shiro 4个jar, 上传了个中文手册 赚一分,这个免费

    shiro最简单整合版本

    shiro最简单整合版本shiro最简单整合版本shiro最简单整合版本shiro最简单整合版本shiro最简单整合版本

    shiro-core 低版本漏洞检测

    shiro-core 低版本漏洞检测工具

    shiro-all-1.2.1.jar

    shiro是apache提供的强大而灵活的开源安全框架,它主要用来处理身份认证,授权,企业会话管理和加密。 shiro功能:用户验证、用户执行访问权限控制、在任何环境下使用session API,如cs程序。

    基于Shiro 拦截URL,实现权限控制

    NULL 博文链接:https://vti-iteye.iteye.com/blog/1963397

    shiro所有版本jar

    shiro所有的jar包 还有跟cas集成的jar包 以及shiro官网的jar下载地址

    spring boot整合shiro实现url请求过滤

    本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能

    Shiro反序列化漏洞,Shiro版本升级资源

    shiro使用的版本是1.2.4,存在反序列化漏洞,我们采取的办法是手动升级到了1.2.6版本,但苦于无法验证是否解决了问题,后来发现了一款测试工具,ShiroExploit。 测试工具下载地址 ... 反序列化漏洞是如何产生的?...

    shiro1.6版本

    2020年8月17日,shiro发布了1.6.0版本,修复了绕过认证的bug。这里面包含1.1、1.6版本的jar包

    shiro-core 1.6.0版本 下载.rar

    实际上,这个修复并不完全,由于shiro在处理url时与spring仍然存在差异,shiro最新版仍然存在身份校验绕过漏洞。2020年8月17日,Apache Shiro发布1.6.0版本修复该漏洞绕过。阿里云应急响应中心提醒Apache Shiro用户...

    shiro动态URL权限控制

    shiro动态URL权限控制 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配;如果没有权限直接跳到相应的错误页面。Shiro也支持类似的机制,不过需要稍微改造下来满足实际需求...

    SpringBoot + Apache Shiro1.9.1 最新版本详细教程,基于RBAC角色访问、安全管理框架、用户角色权限

    4、优点:快速上手、全面支持验证、授权、加密和会话、灵活自定义设计、支持web环境、可以无缝集成spring等优点。可以用来用户验证、用户授权、用户session管理、安全加密等 5、基于RBAC五张表:用户表 tb_user、...

    shiro-cas-1.2.1.jar

    Shiro 依赖的日志组件 slf4j-api-1.6.1.jar

    SpringBoot 集成 Shiro 实现动态uri权限

    本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权

    简单配置 shiro + spring +springMVC+hibernate简单框架

    SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 配置applicationContext-shiro.xml 1. 配置authorizingRealm ...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    Apache_Shiro_使用手册(一)Shiro架构介绍

    Shiro原理+配置

    但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着"当前跟软件交互的东西"。但考虑到大多数目的和用途,你可以把它认为是Shiro的"用户...

    Cas客户端shiro配置

    1.如果客户端项目采用shiro控制权限 则需要将cas-client 认证过滤交给shiro来管理 2.从shiro下载相应版本的shiro-cas-xxxx. Jar或者在maven里直接添加

Global site tag (gtag.js) - Google Analytics