Security框架概述
概述
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
核心功能
- 用户认证 :验证某个用户是否是系统中的合法主体。一般需要用户提供账号和密码,系统通过校验用户和密码来完成认证过程。
- 用户授权:指某个用户是否有权限操作系统中的某个功能,例如京东中的购买者和商铺。
与Shiro比较
springSecurity已经发展了很多年,但是由于springSecurity是基于spring开发,所以springSecurity是一款重量级的框架,使用的并不多,虽然springSecurity的功能比Shiro强大,但是Shiro足以满足大部分项目的需求。对于初学者来说,学习springSecurity是打好后端基础的重要一步。
Spring Security准备
- 创建springboot工程
- 导入security依赖
<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>
- 创建controller类测试
@RestController
@RequestMapping("/test")
public class controller {
@GetMapping("/hello")
public String hello(){
return "Hello Security";
}
}
当我们访问接口的时候,会自动跳转到一个login页面
当我们没有设置登录用户和密码的时候,系统默认的账户名为user,密码为项目启动时系统自动生成的密码
登录成功后跳转到目标测试页面