Spring Security 权限管理框架
1.Spring Security是什么
Spring security 是针对Spring项目的安全框架,可以实现强大的Web安全控制,
2.Spring Security 可以做什么,核心的功能
主要是实现两个目标:认证和授权
认证 Authentication: 身份验证通常通过用户名和密码,验证用户身份,登录。验证用户能否访问该系统,用户认证一版要求用户提供用户名和密码,系统通过校验用户名和密码来完成认证过程。
授权 Authorization: 授权发生在系统成功验证用户身份后,权限鉴别,会鉴别用户访问资源的权限。验证某个用户是否有权限执行某个操作。在一个系统中,不同用户具有的权限是不同的。比如对一个文件来说,有的用户可以读取,有的用户可以修改。一般来说,系统会为用户分配不同角色,而每个角色对应一系列权限。
2.1 认证
Spring Security 支持多种不同的认证方式
- HTTP BASIC authentication headers:基于IETF RFC 标准。
- HTTP Digest authentication headers:基于IETF RFC 标准。
- HTTP X.509 client certificate exchange:基于IETF RFC 标准。
- LDAP:跨平台身份验证。
- HTTP Form-based authentication:基于表单的身份验证。
- Run-as authentication:用户用户临时以某一个身份登录。
- OpenID authentication:去中心化认证
2.2 授权:
Spring Security 支持多种授权方式。如基于角色的访问控制和访问控制列表:ACL Access Control List.
- 基于URL 的请求授权
- 支持方法访问授权以及
- 对象访问授权
3.Spring Security 怎么使用,来实现认证和授权
对于安全控制,仅仅需要引入spring-boot-starter-security依赖,进行少量配置,即可实现强大的安全管理。
4.Spring Boot + Spirng Security
Spring Boot 对于 Spring Security 提供了 自动化配置方案,可以零配置使用 Spring Security