第三章 SpringSecurity专题
1、SpringSecurity快速入门
1.1 SpringSecurity简介
-
Spring Security是基于Spring的安全框架,提供了包含认证和授权的落地方案;
-
Spring Security底层充分利用了Spring IOC和AOP功能,为企业应用系统提供了声明式安全访问控制解决方案;
-
SpringSecurity可在Web请求级别和方法调用级别处理身份认证和授权,为应用系统提供声明式的安全访问控制功能;
官网地址: Spring Security
1.2 SpringSecurity工程搭建
导入基础工程:day10-分库分表项目集成和安全框架\资料\security资料\基础代码\security_demo
A. 创建工程引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- web起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springBoot整合Security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
B. 引导类
@SpringBootApplication
public class MySecurityApplication {
public static void main(String[] args) {
SpringApplication.run(MySecurityApplication.class,args);
}
}
C. Controller
@RestController
public class UserController {
@GetMapping("/hello")
public String hello(){
return "hello security";
}
@GetMapping("/say")
public String say(){
return "say security";
}
@GetMapping("/register")
public String register(){
return "register security";
}
}
D. 测试
访问: http://localhost:8080/hello
会自动拦截,并跳转到登录页面(SpringSecurity提供),登录之后才可以访问; 而登录的用户名和密码都是SpringSecurity中内置的默认的用户名密码, 用户名为user , 密码为控制台输出的一段随机数;
效果:
登录成功之后,会自动跳转到之前访问的地址:
注意:
# 我们也可在配置文件中配置用户名和密码,实际开发中密码不应明文配置
spring.security.user.name=user
spring.security.user.password=6666