在我的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文件中。
答案 0 :(得分:-1)
假设devmode变量解析为角色名称,请尝试:
@PreAuthorize("hasRole('${devmode}')")