Mat*_*see 6 spring spring-security
启动时应用所有http安全性:
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("admin")
}
Run Code Online (Sandbox Code Playgroud)
在运行时,我正在尝试添加更多...
applicationContext.getBean(WebSecurityConfigurerAdapter).http.authorizeRequests().antMatchers("bla").hasRole("admin")
Run Code Online (Sandbox Code Playgroud)
当执行该行时,它会将其添加到http.authorizeRequests(),但/ bla仍可由"非管理员"访问
重新启动服务器时,此更改将生效,因为它正在从数据库加载bla.
如何在不重新启动服务器的情况下立即使安全性生效?
您试图在运行时动态更改 spring bean,除非您使用 spring-loaded 或 JRebel 等工具,否则很难做到这一点。关于它有很多SO:
(在我看来)适合您的用例的最佳方法是使用弹簧配置文件。
定义一个具有 /bla 授权的 bean 和另一个没有 /bla 授权的 bean。然后在不同的配置文件中使用它们。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |