如何动态禁用Spring Security?使用下面的代码,我的应用程序需要身份验证才能访问某些页面,但我想使用属性文件启用/禁用它。有什么建议吗?
我知道setting the security attribute to false in the http tag,但这需要重新编译代码,这对我来说还不够。
<sec:http>
<sec:intercept-url pattern="/services/**" access="hasRole('ROLE_USER')"/>
<sec:intercept-url pattern="/app/**" access="hasRole('ROLE_ADMIN')"/>
<sec:intercept-url pattern="/**" access="isAuthenticated()" />
<sec:http-basic />
<sec:csrf disabled="true" />
</sec:http>
提前致谢。
答案 0 :(得分:1)
假设您从数据库表中获取了用户和角色。自定义一些属性文件,以便在服务器启动时适当地更新具有所需角色的数据库,并且用户可以根据需要获取角色。所以您可以通过已经存在的安全性(不完全是通过传递,而是基于属性文件授予角色)
注意:您必须编写一次性util类来解析属性文件并更新db,这应该在服务器启动时发生。