首页 > 文章列表 > 启用springboot security后登录web页面需要用户名和密码如何解决

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

web springboot security
248 2023-05-21

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

    问题

    注意:本人使用的Spring Boot 2.0.2, 对1.5.x系列未必有用。

    直接解决办法

    0, 移除spring-boot-starter-security依赖

    如果没有实际使用security的功能,可以直接移除spring-boot-starter-security依赖

    1, 使用默认用户和密码登录

    默认用户名是user

    密码是程序启动时自动生成的一串字符串

    2,禁用安全设置或者设置对应的用户和密码

    可以在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);
    
        }
    
    
    
    }

    解析

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

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

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

    @EnableAutoConfiguration(exclude = {
    
    org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
    
    })

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

    spring.security.user.name=user1

    spring.security.user.password=password1