假设您拥有以下权限:
printer:my-printer:print
printer:my-printer-2:print
不知道我是否想知道用户是否拥有至少一台打印机的print
权限,而不知道打印机列表。
首先我尝试检查*:*:print
,但在阅读完文档后,很明显这将检查用户是否有权在所有打印机上打印。
根据文档,它仅在隐含权限时反过来,因此printer:my-printer:*
将暗示printer:my-printer:print
。
很遗憾,我还没有办法检查“至少一个”。
是否有像printer:+:print
这样的东西(在这里指的是正则表达式)?
有什么建议吗?
答案 0 :(得分:0)
您可以使用Subject.isPermitted()
boolean[] isPermitted(List<Permission> permissions);
虽然,通常你不需要这样做。您将指定用户printer:*:print
,并且您的应用程序将使用权限print
检查特定打印机上是否printer:my-printer:print
。我知道这是一个非常普遍的答案,也许你可以提供更多关于你的用例的解释,我们可以提供其他想法/建议来建模你的权限?