【发布时间】:2017-12-02 00:13:46
【问题描述】:
我需要做这样的事情
String myVar = "myString";
...
@Preauthorize("customMethod(myVar)")
public void myMethod() {
...
}
但我失败了。我怎样才能做到这一点?它说它无法解决
编辑:我正在分离一些休息服务,有时我必须在它们之间共享信息
@Value("${my-properties}")
String urlIWantToShare;
...
@PreAuthorize("isValid(#myValue,urlIWantToShare)")
@RequestMapping(value = "**/letsCheckSecurityConfig", method = RequestMethod.GET)
public boolean letsCheckSecurityConfig(@RequestHeader(name = "MY-VALUE") String myValue)) {
return true;
}
此“isValid”自定义安全方法将调用外部服务,该服务对调用者及其信息一无所知。我需要传输一些信息,我需要从不同类型的来源获取它们
其中一个来源是我的 application.properties
EDIT2:我设法做到了
@PreAuthorize("isValid(#myValue, #myProperty)")
@RequestMapping(value = "**/letsCheckSecurityConfig", method = RequestMethod.GET)
public boolean letsCheckSecurityConfig(@RequestHeader(name = "MY-VALUE") String myValue,
@Value("${my-property-from-app-properties}") String myProperty))
..但我不仅想使用实际的静态属性,还想使用运行时属性。有什么帮助吗?
【问题讨论】:
-
你不能。你能描述一下你想要达到的目标吗?或者分享更多代码?
标签: spring spring-security annotations spring-el