启用springboot security后登录web页面需要用户名和密码的解决方法
作者:russle 时间:2022-01-29 06:12:07
问题
注意:本人使用的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
参考:更多的spring.security属性参考这里
示例项目代码在这里
参考文档:
1, https://docs.spring.io/spring-security/site/docs/5.0.8.BUILD-SNAPSHOT/reference/htmlsingle/
2, https://docs.spring.io/spring-security/site/docs/5.0.8.BUILD-SNAPSHOT/guides/html5/helloworld-boot.html
3, https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/security/SecurityProperties.html
来源:https://blog.csdn.net/russle/article/details/82454921
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Linux下动静态库的打包与使用指南(C/C++)
![](https://img.aspxhome.com/file/2023/8/68778_0s.png)
Spring Boot从Controller层进行单元测试的实现
Java并发编程之Exchanger方法详解
java编写ftp下载工具
JDBC增删改查和查唯一的完整代码解析
Java并发编程ThreadLocalRandom类详解
Java利用TreeUtils工具类实现列表转树
基于Java接口回调详解
![](https://img.aspxhome.com/file/2023/4/59314_0s.png)
DevExpress获取TreeList可视区域节点集合的实现方法
浅析Disruptor高性能线程消息传递并发框架
![](https://img.aspxhome.com/file/2023/8/74988_0s.png)
Java泛型之类型擦除实例详解
![](https://img.aspxhome.com/file/2023/0/86720_0s.png)
Spring的@Validation和javax包下的@Valid区别以及自定义校验注解
java集合中list的用法代码示例
Java反射之类的实例对象的三种表示方式总结
C#事件实例详解
快速搭建Spring Boot+MyBatis的项目IDEA(附源码下载)
![](https://img.aspxhome.com/file/2023/6/84306_0s.png)
推荐史上最全的IDEA好用插件
![](https://img.aspxhome.com/file/2023/8/62378_0s.png)
解析maven的用法和几个常用的命令(推荐)
![](https://img.aspxhome.com/file/2023/4/87174_0s.jpg)
Java中使用内存映射实现大文件上传实例
Android动画之补间动画(Tween Animation)实例详解
![](https://img.aspxhome.com/file/2023/1/88101_0s.png)