【发布时间】:2013-09-20 05:28:53
【问题描述】:
在我的test.properties 文件中,我有一个名为devmode 的密钥。
在@PreAuthorize 内执行${devmode} 失败。
@PreAuthorize("${devmode}")
如何在 PreAuthorize 中获取我的属性值?
我正在加载这样的属性文件:<context:property-placeholder location="/WEB-INF/test.properties" />
像这样使用<security:http use-expressions="true"> 中的值:<security:intercept-url pattern="/api/dev/**" access="${devmode}" />
这也有效:@Value(${devmode}) String myVar;
所以我真的不明白为什么它不应该工作。
我要做什么:
我以前有这个:
@PreAuthorize("#key == 'mysecretkey'")
它奏效了。但是,我不想在代码中拥有该密钥,而是在我的 .properties 文件中。
【问题讨论】:
-
@MaksymDemidas 除了我不想使用
hasRole() -
对不起,这是真的。无论如何,您可以尝试使用相同的解决方案。
标签: java spring spring-security spring-el