【问题标题】:Get list of users which have a specific or set of permissions获取具有特定或一组权限的用户列表
【发布时间】:2014-08-08 07:18:40
【问题描述】:

在 JDBCRealm 中使用 Shiro

我的用例要求用户向下一个用户提交表单。下一个用户只能是具有特定权限的人。这是已知的,以便仅显示有效的下一个用户列表以供选择。

如何获取所有具有特定权限的用户的列表? 如果没有,是否有从数据库中获取用户权限字符串然后至少重用 Shiro 的逻辑来检查用户是否具有特定权限的解决方法?

【问题讨论】:

    标签: shiro jdbcrealm


    【解决方案1】:

    Shiro 仅与当前用户的安全性、权限等有关,与整个用户群无关。您可以使用标准 sql 查询来检索与当前登录主题具有相同权限的用户。

    为什么不使用简单的 SQL 查询,将当前用户权限与其他用户权限匹配并给出一个列表。这样,您将不再需要在 java 中计算权限逻辑,从而节省内存和资源。

    【讨论】:

    • 想过这样做。示例:如果我正在寻找具有 a.b.c 权限的用户,那么我还需要选择具有 a.* 和 a.*.c 的用户。想不出能做到这一点的查询。我能想到的其他方法是获取所有权限的列表,然后遍历它们并重新实现 shiro 逻辑以了解在给定权限 (a.*) 或 (a.*.c) 下是否允许权限字符串 (a.b.c)。想知道是否有更有效的方法?
    • 像这样的 (permission like a:%) 或 (permission like a:%:c) 的查询怎么样。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2016-06-02
    相关资源
    最近更新 更多