【问题标题】:How would i configure that a user is only allowed to change it's own account-data?我将如何配置只允许用户更改其自己的帐户数据?
【发布时间】:2013-10-01 21:01:25
【问题描述】:

鉴于 Apache Shiro 的权限格式 domain:action:instance 我如何定义用户只能更改其自己的帐户数据?

我可以执行以下操作,但这会导致权限激增:

useraccountdata:write:user1 允许user1 ... useraccountdata:write:userN 允许userN

我需要的是一些权限规则来动态配置它。

类似:useraccountdata:write:user{n} 允许 user{n} 自动为所有 n 提供

这是以某种方式支持还是我完全走错了路?如果没有,你会怎么做?

【问题讨论】:

    标签: permissions acl shiro


    【解决方案1】:

    如果您创建自己的 Authorizer 版本,您可以使用其中一种 isPermitted 方法为该用户动态添加权限。

    【讨论】:

    • 所以您有一些自定义代码可以逐个用户动态添加权限?我希望有一个声明式的方式,哦,好吧,我猜不可能有。
    • 是的。但是您可以自己对 PermissionAnnotationHandler 和 AuthorizingAnnotationMethodInterceptor 类进行一些自定义。创建您自己的变体@RequiresPermission,它提供基本权限并从上下文(方法签名或参数)派生其余权限。这将涉及一些面向方面的编程
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多