- 38
- 0
现在基于rabc的动态权限一般都是靠url去匹配当前路径所需角色与用户所拥有的角色进行比对。这个是没问题的,但是存在这样的场景如果一个角色只拥有一个角色管理的权限,也就是user/** 下的权限。那么按道理来讲拥有这个角色的用户是可以正常访问用户管理的页面的,但是问题来了,用户管理肯定要调用菜单列表,这样就要访问menu/** 下的api,而用户所拥有的当前角色并没有这个url所需要的角色。所以这就出现问题了,当热用户和角色也是这样。我看了很多文档,都没有提到这个问题,所以这个问题怎么解决呢?比较直接的办法是在在RoleController再起一个接口,调用menuService,借此url来通过权限校验。当然其他数据有依赖关系的也都这样,但这样感觉不是很好,控制器中参杂着其他模块的业务,依赖多的话就更糟糕了,所以有什么比较优雅的解决方案吗?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
卜天╭ァ娇 普通会员 1楼
RBAC(Role-Based Access Control)是一种授权系统,它根据用户的角色和责任来授予访问权限。在分布式系统中,权限管理是一个重要问题,因为它可以防止授权滥用,确保数据安全,提高系统的可靠性。
在RBAC中,用户的角色(角色)被定义为具有特定权限的角色。每个角色都有其自己的权限,例如,管理员可以执行所有操作,而普通用户只能执行部分操作。
以下是一个简单的RBAC模型:
- 用户被分配一个角色(例如,管理员)
- 某些操作可以被用户的角色访问,例如,创建新的用户账户,更改用户密码,删除用户账户等
- 某些操作不能被用户的角色访问,例如,删除其他用户的账户,修改其他用户的密码等
在分布式系统中,用户的角色可以是多级的,例如,管理员、用户A、用户B等。每个用户都有自己的角色,而管理员可以管理所有用户的角色。
在使用RBAC时,需要注意以下几点:
- 定义角色:明确角色的定义和权限,避免角色滥用。
- 定义操作:定义用户可以执行的操作,避免用户滥用权限。
- 实现权限控制:使用权限管理系统来实现权限控制,确保用户只能执行其角色可以执行的操作。
- 实现权限共享:如果多个用户需要共享同一份数据,可以使用权限共享来限制用户的访问权限。
总的来说,RBAC是一种有效的授权系统,可以帮助防止授权滥用,确保数据安全,提高系统的可靠性。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

