如果在SpringSecurity中正确使用了sortorder,那么SpringSecurityUtil
方法的行为如何?例如,ifAnyGranted
似乎检查用户是否具有排序顺序低于传递角色的任何角色。
鉴于以下内容:
ROLE_EXEC sortorder:10
ROLE_MANAGER sortroder:20
ROLE_EMPLOYEE sortorder:30
//does this mean "has any role with at least the same sortorder as someRole"?
SpringSecurityUtils.ifAnyGranted("ROLE_MANAGER") //would return true for manager or exec?
//does this mean "does not have any role with at least the sortorder of someRole"
SpringSecurityUtils.ifNotGranted("ROLE_EXEC") //would return true for manager or employee?
//does this mean "all roles equal or above all of these"?
SpringSecurityUtils.ifAllGranted("ROLE_MANAGER") // returns true for manager or exec? ?
答案 0 :(得分:0)
我不知道sortorder
来自哪里,但插件中没有您所描述内容的支持。
您可以轻松定义角色层次结构,但希望能够满足您的需求。它通常用于使@Secured
注释更简洁,例如:定义ROLE_ADMIN意味着ROLE_USER,因此您可以允许管理员和用户@Secured('ROLE_USER')
而不是@Secured('ROLE_ADMIN','ROLE_USER')
。
请参阅文档here。