6.理解Jwt代码
- 序列化:数据是以二进制在网络中传输,所以我们需要将对象转化为字节类型来传送数据;反序列化是将字节解析为对象
- ObjectMapper:Json与对象之间转换的一个工具类
- JwtUtil:主要用于生成和校验token;主要有:生成JIT、私钥加密token、公钥解析token、通过token获取用户信息,载荷信息
- RsaUtil工具类:根据密文生成公钥和私钥,再从文件中获取公钥和私钥
- JsonIgnore注解:序列化时忽略掉一些实体类中的属性
- SysRole权限类需要继承GrantedAuthority接口类,并实现getAuthority(),返回权限类的名称就是对应用户权限
- SysUser用户类实现UserDetails接口类,并实现getAuthority(),isAccountNonExpirated()、isAccountNonLocked()、isCreadentialExpirated()、isEnable()等方法
- 在SysUserMapper类中通过@Results格式省去mybatis文件,进行数据的查询以及字段与属性的对应;通过many=@Many(select = "多的包类方法名")来实现一对多的映射
- SysUserDetailsService继承UserDetailsService类,它的实现类需要继承loadUserByUsername()
- RequestUtil和ResponseUtil类,RequestUtil工具类主要是通过JsonUtil来读取请求中的输入类来转换输入流为指定类型对象;ResponseUtil工具类主要通过设置响应信息,以及使用JsonUtil类将响应的状态,信息以Result实体类以字符串方式写
- 认证过滤器JwtAuthenticationFilter继承UsernamePasswordAuthenticationFilter,但是它是继承AbstractAuthenticationProcessingFilter的用户认证方法attemptAuthentication()、登陆成功后方法successfulAuthentication()、以及登录失败方法unSuccessfulAuthentication()
- 认证配置类和验证配置类;daoAuthenticationProvider主要用来解析并认证UsernamePasswordAuthenticationToken的;自定义认证配置类和验证配类
- 资源类汇总的验证过滤器继承BasicAuthenticationFilter,实现了它的doFilterInternal(),主要根据header判断是否token是否合法,根据用户信息判断用户验证是否成功
- @Secured({"ROLE_ADMIN","ROLE_PRUDUCT"}),使用上面必须在启动类上面添加EnableGlobalMethodSecurity(securedEnable=true)才能使用;作用是上述权限才能访问它的跳转页面
6.理解Jwt代码的更多相关文章
- 想全面理解JWT?一文足矣!
有篇关于JWT的文章,叫"JWT: The Complete Guide to JSON Web Tokens",写得全面细致.为了自己能更清晰理解并惠及更多人,我把它大致翻译了过 ...
- 理解JWT(JSON Web Token)认证
理解JWT(JSON Web Token)认证 最近想做个小程序,需要用到授权认证流程.以前项目都是用的 OAuth2 认证,但是Sanic 使用OAuth2 不太方便,就想试一下 JWT 的认证方式 ...
- 理解JWT(Json Web Token)
这篇文章写得不错: 理解JWT(JSON Web Token)认证及python实践,这里不做转载,仅摘要如下,有删改,仅做个人学习,感谢原作者. 常用认证机制: 1)HTTP basic Auth: ...
- 理解JWT的使用场景和优劣
理解JWT的使用场景和优劣 淘楼小能手 百家号04-2816:20 经过前面两篇文章<JSON Web Token - 在Web应用间安全地传递信息><八幅漫画理解使用JSON We ...
- Beam Search快速理解及代码解析
目录 Beam Search快速理解及代码解析(上) Beam Search 贪心搜索 Beam Search Beam Search代码解析 准备初始输入 序列扩展 准备输出 总结 Beam Sea ...
- 看图理解JWT如何用于单点登录
单点登录是我比较喜欢的一个技术解决方案,一方面他能够提高产品使用的便利性,另一方面他分离了各个应用都需要的登录服务,对性能以及工作量都有好处.自从上次研究过JWT如何应用于会话管理,加之以前的项目中也 ...
- 【.NET Core项目实战-统一认证平台】第十二章 授权篇-深入理解JWT生成及验证流程
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了基于Ids4密码授权模式,从使用场景.原理分析.自定义帐户体系集成完整的介绍了密码授权模式的内容,并最后给出了三个思考问题,本 ...
- 理解JWT(JSON Web Token)认证及python实践
原文:https://segmentfault.com/a/1190000010312468?utm_source=tag-newest 几种常用的认证机制 HTTP Basic Auth HTTP ...
- 冷饭新炒:理解JWT的实现原理和基本使用
前提 这是<冷饭新炒>系列的第五篇文章. 本文会翻炒一个用以产生访问令牌的开源标准JWT,介绍JWT的规范.底层实现原理.基本使用和应用场景. JWT规范 很可惜维基百科上没有搜索到JWT ...
- Java面向对象理解_代码块_继承_多态_抽象_接口
面线对象: /* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生 ...
随机推荐
- [jmeter的使用]jmeter上传文件接口的写法
1.类型和参数名称,依据接口/抓的包决定 2.必须选择java否则报错 3.http header也要写
- vscode 一些扩展的推荐(前端)
- `Auto Rename Tag`:成对修改 HTML 标签名 - `Bracket Pair Colorizer`:括号匹配高亮 - `Color Highlight`:显示颜色代码的颜色 - ...
- tail 命令 没有内容输出,记录一种解决
1. 没有内容输出的命令: tail - f /test/platform/jtimer.log 控制台: 2. 当切换到此文件的当前路径后才有: 使用: tail - f jtimer.log
- RKO组——冲刺随笔(3)
这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 第五次团队作业:项目冲刺 这个作业的目标 记录冲刺计划.要求包括当天会议照片.会议内容以及项目燃尽图(项目进度) 1.昨日进展 对上一次讨论 ...
- nuxtjs项目空白路由强跳到首页
1.根目录下新建middleware文件夹并新建文件unknownRoute.js,代码如下 /** * 未知路由重定向 到首页 */ export default ({store, route, r ...
- getchar()函数的详解以及使用时需要注意的一些细节-C语言基础
这篇文章要探讨的是"getchar()函数的详解以及使用时需要注意的一些细节".涉及getchar()函数的应用和需要注意的问题.属于C语言基础篇(持续更新). 在C语言的学习过程 ...
- Docker 修改容器中的mysql密码
1.查看容器服务 docker ps2.进入mysql容器 docker exec -it mysql /bin/bash 注:mysql为容器的名字 3.登录MySQL mysql -u root ...
- [Python]Running multiprocessing
import multiprocessing as mp import time def name_and_time(name,num): print(f"Hello {name}, cur ...
- PT的常用命令
归纳常用的PT命令,便于工作中应用. 1. 报时序的命令 report_timing -from A -to [get_clocks {clkA}] -delay_type min report_ ...
- 第二章 excel的快捷键操作
本章介绍excel中部分常用的快捷键 1.文件类 工作簿操作:Ctrl + N 新建:Ctrl + w 关闭当前:Ctrl + S 保存 F12 当前另存为 Ctrl + p 打印当前 2.通用类 C ...