CGB2005 0822 JAVA18

``## shiro

在这里插入图片描述
在这里插入图片描述
加入业务
1.身份认证
2.权限控制

在这里插入图片描述

Shiro框架认证拦截实现(filter)

2个版本去理解
一个配置类
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
疑问
如下图 访问url:http://localhost:8090/doIndexUI
自动跳转到url:http://localhost:8090/doLoginUI
客户端层没有加任何代码
在这里插入图片描述

就加了一个shiro自动配置 就拦截了首页的跳转 先到login页面了
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
雷哥实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下图 必须先认证 确认权限 才能进入资源管理界面(shiro自动配置的功劳)
在这里插入图片描述
在这里插入图片描述
雷哥错误
访问时没有跳转到登陆页面问题
在这里插入图片描述
已修正

必须得登陆
不被拦截的页面设置
在这里插入图片描述
自我实现

在这里插入图片描述
在这里插入图片描述
其余访问任何页面 都被拦截了
在这里插入图片描述
总结 shiro自动配置会帮我们把未认证未授权的拦截 然后跳转到登陆认证界面
如果需要无权限无拦截访问 必须加在map规则中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实现
在这里插入图片描述

shiro参考手册
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继续 认证流程

分析Shiro框架认证业务实现 认证流程分析

身份认证即判定用户是否是系统的合法用户,用户访问系统资源时的认证(对用户身份信息的认证)流程图-5所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

认证服务端实现 核心业务分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继承授权的room
明天 10点41 找回新建的那个页面 ShiroUserRealm(下面补上了over)
在这里插入图片描述

只需要授权不需要认证的话 就不需要继承了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
如上图 逻辑思路
在这里插入图片描述

在这里插入图片描述
想直接取到用户名和密码 有办法吗
打开AuthenticationToken源码
分析
在这里插入图片描述
在这里插入图片描述
然后
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
用usernameToken绝对没错
在这里插入图片描述
在这里插入图片描述

晚上 看10.53
在这里插入图片描述
在这里插入图片描述
ctrl+shift+o引入
在这里插入图片描述
ctrl+t 查看子类(子类的异常)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
new接口的实现类 结合业务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开源码去看 需要ByteSource 需要就传入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发问 写的时候为什么不把.getSalt直接传到下面呢 ?而是非要封装成一个ByteSource对象呢 ?
因为 底层拿到盐值后 会对盐值做编码处理(自己做封装处理) 所以需要什么就要传什么
然后返回谁谁谁 如下图
在这里插入图片描述

很复杂 不必自己写 对照官方规定的模板 代入参数
在这里插入图片描述
认证信息获取和封装后 还需要必要的realm配置
在这里插入图片描述上面只写了dao语句,认证信息的获取与封装和必要的realm配置(在同一SpringShiroConfig里面)
在这里插入图片描述
在这里插入图片描述
分析图
在这里插入图片描述
所以需要把信息封装到token中

在这里插入图片描述
第一步
在这里插入图片描述
第二步
在这里插入图片描述
在这里插入图片描述
第三步
认证交给框架 自己不用管 只需要获取 然后提交即可
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
上图对应下面
让登陆才让认证
写好接收客户端的认证信息后 放开(即是匿名访问 无拦截)
在这里插入图片描述
在这里插入图片描述
只做了登陆 还没做登出

自我实现
在这里插入图片描述
dao层 提交已加密的用户信息 对应密码(已被加密那个)
在这里插入图片描述

在这里插入图片描述

初始页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
客户端运行
在这里插入图片描述
在这里插入图片描述
doInedxUI页面为什么后面接乱码
在这里插入图片描述
解答如下
不要原先缓存的数据 不缓存页面的地址 每次取一个新的页面
在这里插入图片描述

登陆的流程基本完成

11.15后 讲异常的处理
在这里插入图片描述

写到同一的异常处理类里面
在这里插入图片描述
写到同一的异常处理类里面
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

统一的异常处理类 没建好
在这里插入图片描述
接上shiro的配置就可
logout 对应的过滤器
在这里插入图片描述
加入配置类 对应推出过滤器 检测到我们点击时退出 底层shiro它会把账户信息从session中移除
只有退出触发了logout过滤器 会把信息移除 然后跳转到对应下图地址在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不对的时候 提出 用户或密码不存在 更安全
在这里插入图片描述
连续登入5次不正确 就把xxx禁用
任务调度

想看过程
在这里插入图片描述

自我实现
实现禁用 然后登入修改权限
登入admin 123456
在这里插入图片描述
新增后修改状态
xdd0824 123456
在这里插入图片描述
在这里插入图片描述
改成禁用状态 再登出查看效果
在这里插入图片描述
效果实现直接无法登陆 对应异常抛出的效果
在这里插入图片描述

11点47分 有断点流程 晚上

点按钮 确认登入 跳转到服务器端
加入断点 看看用户端(客户端)提交过来的数据是什么数据
在这里插入图片描述
看图在这里插入图片描述
在这里插入图片描述
ctrl+o 子类 找认证方法 再ctrl+o 不找抽象的类 找具体的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行 登陆的时候 首先进入控制层
在这里插入图片描述
在这里插入图片描述

输入正确 也要看服务端(controller层)拿到正确
在这里插入图片描述
在这里插入图片描述
如上图 都拿到了
直接进入下一个断点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要认证
在这里插入图片描述
再看下token里面有没有用户信息
在这里插入图片描述
密码是用数组来存的密码
在这里插入图片描述
能拿到 就是提交给XXXManager了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
大框是访问我们自己的认证代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过realm找所有的信息 realms可能多个 指纹认证 刷脸认证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拿到信息就去认证 比对密码
在这里插入图片描述
在这里插入图片描述
再进去 重写了圈着的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这就是认证流程
在这里插入图片描述

在这里插入图片描述
读源码
出了错 就抛出异常
必须配置凭证匹配器
尊重框架的规则
在这里插入图片描述
登入争取 客户端输入得 必须与数据库原有 用户输入的一直才可以(解密 同时MD5加密)

下午 不想让用户进去后可以动日志管理 所有牵扯到授权了

权限设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
顾问对象
在这里插入图片描述
在这里插入图片描述
子类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
找对应权限
在这里插入图片描述
把映射分开
在这里插入图片描述
业务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
admin去禁用启用都没有问题
zhangjj去启用 倒是没有权限
自己实现
1.在这里插入图片描述
2.dao层 添加添加权限信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
html 客户端测试
在这里插入图片描述
大面积报错
mapper
在这里插入图片描述
与mapper无关 应该是没加@Bean注解

没看到
应该是导包问题
无法解决
在这里插入图片描述
还是mapper错误

其他类型错误
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有一个切入点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
晚上 漏了
在这里插入图片描述
0914 权限aop推倒再实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值