gpt4 book ai didi

spring - 应用启动运行时如何重新加载WebSecurityConfigurerAdapter的Configure方法

转载 作者:行者123 更新时间:2023-12-04 17:42:59 25 4
gpt4 key购买 nike

我正在使用 spring boot,在 spring security 中我们使用“WebSecurityConfigurerAdapter”并使用该方法

@Override
protected void configure(HttpSecurity http) throws Exception {
AuthenticationFilter authenticationFilter = new AuthenticationFilter(authenticationManager(), tokenService(), externalServiceAuthenticator());
http.addFilterBefore(authenticationFilter, BasicAuthenticationFilter.class)
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().authorizeRequests().antMatchers(externalServiceCaller.getPrivateEndPoints())
.hasAnyAuthority(externalServiceCaller.getAllAuthorities()).anyRequest().authenticated()
.and().authorizeRequests().anyRequest().anonymous()
.and().exceptionHandling().authenticationEntryPoint(unauthorizedEntryPoint())
.and().exceptionHandling().authenticationEntryPoint(forbiddenEntryPoint());
}

这对现有角色和用户来说工作正常,但是当我们在运行时(应用程序启动后)添加更多用户和角色时,spring security 无法识别新角色和新用户。有没有什么办法可以在应用启动运行的时候再次调用上面的方法。

最佳答案

重新加载 configure(HttpSecurity http) 在运行时是不可能的,因为它是某种构建器并且它创建了 spring security chain 的某些部分当应用程序启动时 - 如果您想重新加载方法,您必须在运行时替换 spring 安全链 - 这不是那么简单和推荐的方法。

如果您需要在运行时添加一些用户 - 实现自定义 AuthentificationProvider

关于spring - 应用启动运行时如何重新加载WebSecurityConfigurerAdapter的Configure方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com