如何禁用 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 Security
在 classpath
上一样,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 ldap 禁用基本身份验证
Spring Security 默认登录表单不会被自定义登录页面替换