来自Magnolia的AccessDefinition类的不推荐使用的角色

时间:2016-08-03 15:14:53

标签: magnolia

我正在检查AppDescriptor的权限属性,发现getRoles中的AccessDefinition实际上已弃用。有谁知道为什么它被弃用了?这是否意味着我们不应该在应用程序中设置权限角色?我问这个是因为我的代码会想要在应用程序中定义角色,我不知道即使它已经被弃用,我也可以使用它。

来自AccessDefinition.java的代码:

/** @deprecated */
@Deprecated
Collection<String> getRoles();

2 个答案:

答案 0 :(得分:2)

  

这是否意味着我们不应该在应用中设置权限角色?

不,您可以设置运行应用程序所需的角色。

方法已被弃用,因为它只会返回配置为运行应用程序所必需的角色,而不管是否设置了超级用户使用应用程序的覆盖权限。

引入了

hasAccess(User user)方法以允许对更复杂的规则进行此类检查(例如,考虑超级用户覆盖权限或AccessDefinition的自定义实现可能要引入的任何其他规则)并同时进行保持getRoles()方法普通(如返回setRoles(Collection<String> roles)设置的内容)。

这就是原因。

答案 1 :(得分:0)

您应该通过相同的方法签名在User下设置它们。

User.getRoles();