gpt4 book ai didi

java - 通过 Java 配置禁用 Spring Security?

转载 作者:搜寻专家 更新时间:2023-10-31 19:54:40 25 4
gpt4 key购买 nike

我有一个通过 Java 配置使用 Spring Security 的 Java 应用程序。

在编译中打开/关闭整个 Spring Security 的最简单方法是什么?

所以类似于 this ,但对于不使用 XML 的配置。

编辑:

应用@Profile 后我的代码如下所示:

@Configuration
@Profile("SecurityOn")
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

问题是,如果未激活配置文件“SecurityOn”,Spring Security 将使用一些默认配置。相反,在这种情况下如何完全关闭 Spring Security?

最佳答案

要禁用该行为,您可以添加另一个如下所示的类:

@Configuration
@EnableWebMvcSecurity
@Profile("!SecurityOn")
public class WebSecurityConfigDisable extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/**").permitAll();
}
}

然后,当您运行您的应用程序时,您唯一需要登录的时间是 SecurityOn 配置文件处于 Activity 状态时。如果您使用 Maven 和 Spring Boot,启用 登录的命令如下。

mvn spring-boot:run -Dspring.profiles.active=SecurityOn

在没有配置文件或不同配置文件的情况下运行它,将禁用登录。这对本地开发很有用。

我发现在使用 spring-boot-starter-security 时这是必要的,因为默认配置需要登录。

关于java - 通过 Java 配置禁用 Spring Security?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702634/

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