社区
Web 开发
帖子详情
shiro 如何获取当前用户所拥有的所有的角色
woshikaka6
2015-08-17 09:39:53
我不想通过如下代码去判断
Subject subject = SecurityUtils.getSubject();
if(subject.hasRole("admin")){......}
因为,如果一个用户有多种角色,那我还要自己维护一个所有角色的集合,然后去遍历才能知道当前用户所拥有的角色。
不知道大家有没有更好的解决方案
...全文
13460
2
打赏
收藏
shiro 如何获取当前用户所拥有的所有的角色
我不想通过如下代码去判断 Subject subject = SecurityUtils.getSubject(); if(subject.hasRole("admin")){......} 因为,如果一个用户有多种角色,那我还要自己维护一个所有角色的集合,然后去遍历才能知道当前用户所拥有的角色。 不知道大家有没有更好的解决方案
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jon_Deng
2017-01-07
打赏
举报
回复
123
wuwangjun
2015-08-17
打赏
举报
回复
/** * * @author Allen * 自己实现role控制代替shiro中的filter */ public class PandaRolesAuthorizationFilter extends AuthorizationFilter{ @Override protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception { 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); Iterator<String> roleIterator=roles.iterator(); boolean flag=false; while(roleIterator.hasNext()){ if( subject.hasRole(roleIterator.next())){ flag=true; } } return flag; } } xml 文件https://github.com/qman23/pandaWeb/blob/master/src/main/webapp/WEB-INF/shiro-context.xml
Shiro
与数据库交互的实例
Subject是
Shiro
的中心概念,代表了
当前
系统中的
用户
。Realms是
Shiro
与身份验证和授权信息源的桥梁,例如,我们可以创建一个连接到数据库的 Realm,从中
获取
用户
信息进行验证。 1. **数据库设计**: 在这个实例中,...
shiro
中获得
当前
subject的所有
角色
,权限列表
首先我们注入自定义的realm
shiro
DbRealm.doGetAuthorizationInfo(SecurityUtils.getSubject().getPrincipals()) 从新执行一遍doGetAuthorizationInfo这里面是自己写的,能
获取
到。2.realm 中写一方法核心语句...
Shiro
配置及
获取
用户
工具类
Shiro
配置及
获取
用户
信息的工具类
shiro
笔记
realm对象 给
当前
用户
授权和进行认证两个逻辑功能。认证逻辑中有两个逻辑判断
用户
名和验证密码两个逻辑。securityManager 安全管理器对象 安全管理器对象关联realm对象。访问某个接口时,就会先执行授权逻辑。
Shiro
框架验证
用户
拥有
的权限并设置对应的权限给
用户
角色
------
Shiro
框架
Shiro
框架验证
用户
拥有
的权限并设置对应的权限给
用户
角色
------
Shiro
框架
Web 开发
81,116
社区成员
341,730
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章