目录
一、权限管理概念
1.基本概念
2.常用权限管理解决方案
(1)Shiro
(2)Spring Security
二、整体架构
1.认证:Authentication
(1)AuthenticationManager
(2)Authentication
(3)SecurityContextHolder
2.授权:Authorization
(1)AccessDecisionManager (访问决策管理器)
(2)AccessDecisionVoter (访问决定投票器)
(3)ConfigAttribute
三、环境搭建
springboot%E9%A1%B9%E7%9B%AE-toc" name="tableOfContents" style="margin-left:40px">1.新建空springboot项目
springSecurity-toc" name="tableOfContents" style="margin-left:40px">2.引入springSecurity
3.实现原理
4.为什么只是引入SpringSecurity依赖就会自己去拦截
5.流程分析,登录页面哪来的
6.默认的登录用户名、密码哪来的
四、自定义认证
1.自定义资源权限规则
2.自定义登录页面
3.前后端分离自定义登录
4.显示登录失败信息
(1)失败之后的重定向跳转
(2)失败之后的forward跳转
(3)测试
5.前后端分离自定义登录失败
6.注销登录
(1)开启注销登录
(2)多种请求地址进行注销
(3)前后端分离注销登录配置
五、登录用户数据获取
1.SecurityContextHolder
2.后台代码获取认证之后用户数据
3.页面上获取用户信息
六、自定义认证数据源
1.认证流程分析
2.AuthenticationManager、ProviderManager、AuthenticationProvider
3.配置全局 AuthenticationManager
(1)使用系统默认的全局AuthenticationManager
(2)自定义内存数据源AuthenticationManager
4.自定义数据库数据源(重要)
(1)表设计
(2)引入依赖
spring%20boot%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-toc" name="tableOfContents" style="margin-left:80px">(3)设置spring boot配置文件
(4)创建entity
(5)创建dao
(6)创建mapper.xml
(7)创建 UserDetailService 实例
(8)配置 authenticationManager 使用自定义UserDetailService
(9)测试
七、前后端分离认证功能实例
1.创建项目、启动测试接口
2.自定义内存数据源实现功能
3.自定义数据库实现功能
八、前后端分离认证添加验证码
一、权限管理概念
1.基本概念
权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。
认证:
就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。
授权:
即访问控制,控制谁能访问哪些资源。主体进行身份认证后需要分配权限方可访问系统的资源