首先通过Spring Initializr创建一个SpringBoot项目
在设置完group等基础信息之后,Spring Initializr允许我们提前预定一些常用的项目依赖,我在这里选择了security和web的基础配置依赖,当然不选择也可以,在进入项目之后,可以自行在pom文件里添加你需要的依赖
当项目搭建好之后pom文件依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
之后我们随便写一个控制器测试一下:
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: gaoyk
* @Date: 2020/2/15 21:26
*/
@RestController
public class HelloController {
@GetMapping("/")
public String hello(){
return "hello,security!!!";
}
}
将项目跑起来之后,测试localhost:8080/端口,由于引入security的原因,url会自动定向到security的默认登录界面如下:
security默认提供的用户名为user,密码为运行时控制台生成的一串随机码如图
我们将用户名和密码输入后点击登录,这样才跳转到了我们之前写的HelloController接口中
当然,在security的基本认证中,用户名和密码都是可以配置的,最常见的就是在resources下的配置文件中修改,如图:
打开application.properties,在配置文件中加入自定义的用户名和密码:
#配置用户和密码
spring.security.user.name=pinyk
spring.security.user.password=123456
重新启动程序,我们会发现控制台不再打印默认的密码串了,此时使用我们自定义的用户名和密码就可以登录了
事实上,绝大多数Web应用都不会使用之中默认的认证方式,除安全性差、无法携带cookie等因素外,灵活性不足也是它的一个主要缺点,所以我们一般会自己去定义登录页面,从而提高安全性,做这个demo只是为了帮大家初识security
本篇博客就到这里,如有疑问或发现错误请及时提出