如何禁用 Spring Security 的登录屏幕? [复制]

Posted

技术标签:

【中文标题】如何禁用 Spring Security 的登录屏幕? [复制]【英文标题】:How to disable Spring Security's login screen? [duplicate] 【发布时间】:2019-03-17 21:50:37 【问题描述】:

Spring Security 导致 / 或任何路径重定向到 /login/login 以生成并提供登录表单。我尝试了许多选项,例如将这些行添加到我的属性文件中

security.ignored=/**
spring.security.enabled=false
management.security.enabled=false
security.basic.enabled=false 

没有任何效果。

这可能已被弃用。

【问题讨论】:

【参考方案1】:

从类路径中移除 Spring Security:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>

这将消除强制用户在查看页面之前登录的障碍。

【讨论】:

你不能是认真的! @louloumilo:为什么?如果您根本不使用 Spring Security,则在类路径中不需要它。 这在某些情况下有效,但在我的情况下,登录仍然在这里,因为 oath2 客户端依赖于安全性 ^ 相同。我只想要依赖于安全核心的 spring-security-oauth2 中的 OAuth2RestTemplate。我不想启用网络安全和登录屏幕。我被卡住了。【参考方案2】:

似乎security.ignored=/** 已从 Spring Boot 2.x 中移出,就好像 Spring Securityclasspath 上一样,Spring Boot 将添加 @EnableWebSecurity 所以向 application.properties 添加条目是行不通的。

这是您可以通过配置安全配置来禁用的方法...

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter 

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

Security changes in Spring Boot 2.0 M4

【讨论】:

在某些情况下,也需要禁用 CSRF 保护:.csrf().disable().

以上是关于如何禁用 Spring Security 的登录屏幕? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java spring security,如果登录用户被禁用,如何知道密码是不是错误

Spring Security 禁用登录页面/重定向

使用 spring security ldap 禁用基本身份验证

Spring Security 默认登录表单不会被自定义登录页面替换

需要为 /login spring security 禁用 CSRF

如何使用xml在spring security中禁用注销确认?