4

在我的test.properties文件中,我有一个名为devmode. ${devmode}在里面做@PreAuthorize失败。

@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 文件中。

4

1 回答 1

-2

假设 devmode 变量解析为角色名称,试试这个:

@PreAuthorize("hasRole('${devmode}')")
于 2013-09-19T20:21:50.117 回答