-
概念
- Spring Security是一个功能强大且高度可定制的,主要负责为Java程序提供声明式的 身份验证和访问控制 的安全框架
- Spring Security的底层主要是 基于 Spring AOP 和 Servlet 过滤器 来实现安全控制
- 它提供了全面的安全解决方案
- 同时授权粒度可以在 Web请求级和方法调用级 来处理身份确认和授权
-
功能
- Spring Security 的核心功能主要包括如下几个:
- 认证: 解决 "你是谁" 的问题-->解决的是系统中是否有这个“用户”(用户/设备/系统)的问题,也就是我们常说的“登录”
- 授权: 权限控制/鉴别,解决的是系统中某个用户能够访问哪些资源,即“你能干什么”的问题;Spring Security 支持基于 URL 的请求授权、方法访问授权、对象访问授权
- 防护攻击: 防止身份伪造等各种攻击手段
- 加密功能: 对密码进行加密、匹配等
- 会话功能: 对Session进行管理
- RememberMe功能: 实现“记住我”功能,并可以实现token令牌持久化
- ......
-
引入依赖
-
入门使用
- 在浏览器输入http://localhost:8080/,直接跳转到登录页面,说明SpringSecurity已经生效
- 输入默认用户名:user,在控制台找到密码登录
- 此时SpringSecurity已经成功集成到项目当中
- 真正开发中不会使用这种方式,一是用户名默认的;二是密码每次在项目启动时,随机生成
- 配置文件
- 在application.yml中添加以下配置,重新启动项目
- 此时可以通过指定用户密码进行登录
- 上面介绍了两种配置方式:
- 一是以默认的用户名密码方式登录
- 二是在配置文件中用指定用户名密码登录