天天看點

啟用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