在我们的 .NET Core Web API 中,我们配置了基于声明的授权,它运行良好。我们创建了角色声明并将角色分配给用户。我们不使用用户声明。
现在我需要让用户拥有特定的声明。在 UserManager 中有一个 GetUsersByClaimAsync(Claim) 方法,它似乎只考虑用户声明。不是角色声明。所以就我而言,它不可用。
所以我正在考虑通过声明获取角色,然后通过角色获取用户(效率不高,因为它必须进行多次数据库调用才能分别获取每个角色的用户)。但即使这样做,也没有直接的方法可以通过 UserManager 或 RoleManager 中的声明来获取角色。
所以对我来说,除了自定义查询之外,似乎没有什么干净的方法可以实现这一点。
我不确定我在这里遗漏了什么。有没有人用更好的方法做到了这一点?
谢谢