天天看点

启用springboot security后登录web页面需要用户名和密码

问题: 启用springboot需要登录

我们的Spring Boot项目只要引用了如下依赖,默认就启动安全配置。

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

启动项目出现下面莫名其妙的页面:

启用springboot security后登录web页面需要用户名和密码

解决办法

  • 移除spring-boot-starter-security依赖
如果没有实际使用security的功能,可以直接移除spring-boot-starter-security依赖
  • 使用默认用户和密码登录
默认用户名是user 密码是程序启动时自动生成的一串字符串
启用springboot security后登录web页面需要用户名和密码
  • 禁用安全设置或者设置对应的用户和密码

可以在application.properteis中配置对应的用户和密码

也可以设置对应的用户名和密码
spring.security.user.name=user1
spring.security.user.password=password1
           

通过在启动main类上禁用

package com.yq;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages = {"com.yq"})
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
public class WebSecurityDemoApp {
    private static final Logger log = LoggerFactory.getLogger(WebSecurityDemoApp.class);

    public static void main(String[] args) {
        SpringApplication.run(WebSecurityDemoApp.class, args);
    }

}
           

如果既想使用security又不想每次输入用户名密码,可以直接在Application文件中禁用自动配置

@EnableAutoConfiguration(exclude = {

org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class

})

或者我们也可以配置指定的用户和密码,例如

spring.security.user.name=user1

spring.security.user.password=password1

ex