当前位置: 首页 > 知识库问答 >
问题:

Spring Security ACL-@预授权泛型和接口

房子昂
2023-03-14

在使用泛型的接口上使用Spring ACL和@preauthorize注释似乎不起作用。

例如;我有一个使用泛型的接口;

public interface MyService<T> {
    @PreAuthorize("hasPermission(#objectToProtect, 'WRITE')")
    void doStuff(T objectToProtect, UserIdentity... user);
}
public class MyServiceImpl implements MyService<MyObject> {
  @Override
  public synchronized void doStuff(MyObject objectToProtect, UserIdentity... userIdentity) {
    // Do some stuff here... THis should be protected, the authenticated user should have write permissions.
  }
}
   <sec:global-method-security pre-post-annotations="enabled" proxy-target-class="true">
        <sec:expression-handler ref="expressionHandler" />
    </sec:global-method-security>

我正在使用Spring的最新GA版本(3.2.3)和Spring Security(3.1.4)

共有1个答案

隆长卿
2023-03-14

spring Jira中存在打开错误:https://jira.spring.io/browse/spr-16060

 类似资料:
  • 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 pre_thaw string get GET参数组,本组参数需要参与签名 是 object └biz_id 业务单号(biz_id与payid只传其一) 是 20191125001 number └amt 解冻金额(退款给客人金额,0或者空表示商家收取全部费

  • 再说起鸭子类型,其实C++和java已经考虑到了,这就是泛型。泛型主要是用来做代码复用的,因为前述它的优点:使得程序员能将注意力从底层细节解放出来,在C++和java体现不是那么明显,因为某些后面会说的原因,细节反而会更多,写起来还麻烦 静态类型语言中每个变量的类型都是固定的,如上一篇末尾所说,要想实现鸭子类型就得结合代码。鸭子类型只需要关注“能做什么”,不关注“是什么”,静态类型语言借助接口,就

  • EDIT做了一些更多的测试:当我只配置secure-annotations=“enabled”时,基于角色的安全性工作。此外,配置pre-postannotations=“enabled”时,既不安全也不预授权。当我只配置前-后注释时,它仍然不起作用。 编辑2 更多的测试:只有secured_annotations=“enabled”,对channelservice的调用通过Cglib2AopPr

  • 我对以下涉及oauth2的流程有一些问题: webapp1.xyz.com是具有授权代码授予类型的注册客户端,以下是当前流程: 用户登录并使用授权码重定向到webapp1.xyz.com webapp1.xyz.com交换访问令牌的授权代码并将其存储到会话 webapp1.xyz.com服务器端需要通过传递访问令牌调用webapp2.xyz.com api webapp1.xyz.com具有SPA

  • 为什么叫“泛型模型”,请查看一些基本概念 Keras的泛型模型为Model,即广义的拥有输入和输出的模型,我们使用Model来初始化一个泛型模型 from keras.models import Model from keras.layers import Input, Dense a = Input(shape=(32,)) b = Dense(32)(a) model = Model(inp

  • 预授权扫码枪收款,支持随行付通道 经营要求: 1、进件住宿服务、汽车租赁; 2、且营业执照的经营内容也要包含该经营内容 注:用户被扫码付款,此时会冻结对应金额的资金【30天】,如30天之内不做处理,即解冻原路退回至用户账户 此协议的返回有两种情况:一是扫码后无需密码直接完成交易,则协议马上返回。二是需要用户输入密码,返回status=0,请根据state的内容分别进行后续处理。 如果为WAIT表示