概念
1. 认证和授权
- 认证:判断一个用户的身份是否是系统的合法的用户(用户能不能访问系统)
- 授权:控制用户对系统资源的访问(用户在系统中能做哪些事情)
2. 会话(Session)
- 用户认证通过后,要多次访问系统,为了避免每次都要用户主动提供认证信息,从而将用户第一次认证后的信息保存到会话中
- 这些会话信息可使用无状态的token存储(无状态的jwt),也可以存储在后端(Session、Redis)
3. 权限模型
- RBAC:基于角色的授权(用户-角色-资源-行为)
用户拥有哪些角色才能对哪些资源做出什么样的行为。资源怎么定义,页面上的菜单、url资源都可以称为资源。对资源进行的操作就是行为,例如对某资源可查看,但不能删除
快速使用
- 引入依赖
spring-boot-starter-security
- 即可
Spring Security 与 资源访问控制
Spring Security 对web资源的保护是通过Filter来实现的