在我的test.properties
文件我有一个名为 devmode
的 key 。
做${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'")
并且成功了。但是,我不想在代码中包含该 key ,而是在我的 .properties 文件中。
最佳答案
假设 devmode 变量解析为角色名称,请尝试以下操作:
@PreAuthorize("hasRole('${devmode}')")
关于java - 如何在 PreAuthorize 中解析属性文件中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903847/