我想使用具有spring security的spring bean来确定是否应该显示页面。下面是我想做的psudocode示例:
<security:http use-expressions="true">
<security:intercept-url pattern="/devlogin.html" access="someBean.isNotProduction()" />
</security:http>
我知道上面的内容不起作用,但希望它可以作为我正在寻找的一个例子。我不想告诉Spring“允许访问此类角色”,而是“允许访问,如果您在测试系统上运行”。我是否幸运并且存在一些此类解决方案,或者这不是我对Spring Security的期望? (也许我甚至会听到有人说有这样一个页面是一个很大的安全禁忌,我会批评它。)
答案 0 :(得分:0)
在我的书中开发(或测试)特定代码/页面在我的书中总是不行,但就像我说的那样,我的书:)。
解析访问属性,可能包含SpEL expressions。您发布的示例代码几乎是正确的,只需在其前面添加@应该使其正常工作
security:http use-expressions="true">
<security:intercept-url pattern="/devlogin.html" access="@someBean.isNotProduction()" />
</security:http>
这应该适用于Spring Security 3.0及更高版本。
可能related answer,尽管这是方法安全性。