如何在Apache Shiro中定义属性级权限

时间:2013-10-06 16:08:59

标签: shiro

docs我读到,可以定义属性级权限(以及资源​​和实例级别)

  

属性级别 - 权限现在指定实例或资源的属性。用户可以编辑IBM客户记录中的地址。

如何使用<resource>:<action>:<instance>格式以声明方式定义这些权限,其中通常定义Shiro中的权限?如果有可能做<resource>:<action>:<instance>:<attributename>这样的事情似乎是合乎逻辑的,但我无法在任何地方找到文档。

1 个答案:

答案 0 :(得分:0)

您是否检查了http://shiro.apache.org/permissions.html

您可以根据自己的信息自行创建字符串。在我们的代码中,我们使用自定义域以编程方式添加权限,如下所示:

public class OurAuthorizingReam extends AuthorizingRealm {
  ...
@Override
public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ... code to find permission infp

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    while (.. looping through permission info){
            info.addStringPermission(... the permission string constructed);
    }
    return info;
}