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:生 ...
随机推荐
- sql-labs less34--less41
less 34 汉 addslashes() 函数返回在预定义的字符前添加反斜杠的字符串. 预定义字符是: 单引号(') 双引号(") 反斜杠(\) NULL 提示:该函数可用于为存储在数据 ...
- CentOS 8.x 编译安装LNMP(Linux + Nginx + MySQL + PHP)架构部署动态网站环境
LNMP动态网站部署架构是一套由Linux + Nginx + MySQL + PHP组成的动态网站系统解决方案,具有免费.高效.扩展性强且资源消耗低等优良特性,目前正在被广泛使用. 前传: 1.Ce ...
- c#控制台使用WebBrowser获取html问题
在主线程上打上 [STAThread]标记就行 在main()最后一句 添加Application.Run(); 就能使控制台像窗体一样持久运行而不是阻塞啥也不干 [STAThread]stati ...
- web自动化测试—Firefox安装与配置
web自动化测试-Firefox安装与配置 下一步 下一步 下一步 下一步 下一步 下一步 下一步 下一步 下一步设置不更新 下一步添加插件 下一步 下一步 下一步 下一步立即重启 下一步查看插件 在 ...
- css scoped和moudle
scoped css 官方文档 缺点 一.如果用户在别处定义了相同的类名,也许还是会影响到组件的样式. 二.根据css样式优先级的特性,scoped这种处理会造成每个样式的权重加重了: 即理论上我们要 ...
- 一起学JAVA:做一个简单的API项目吧(一)
由于一些特殊原因,最近想要去学习JAVA,了解JAVA ,然后在此之前对JAVA只停留在能读懂代码,但是写不懂的状态,那么最近又很闲,所以打算重新进行一波自己的学习计划,又因为是三分钟的热情,所以特意 ...
- RKO队——冲刺随笔(5)
这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 第五次团队作业:项目冲刺 这个作业的目标 记录冲刺计划.要求包括当天会议照片.会议内容以及项目燃尽图(项目进度) 1.昨日进展 小程序大致完 ...
- pip下载时使用国内镜像 设置pip.ini文件
https://blog.csdn.net/u011107575/article/details/109901086 https://www.python.org/ftp/python/https:/ ...
- 手机设置fiddler代理后无法上网
方法一:打开防火墙设置 参考链接:https://www.jianshu.com/p/b122eab059c4 1.打开控制面板->系统和安全->Windows Defender 防火墙, ...
- 1004.Django模板标签
一.常用标签 模板标签 标签在渲染的过程中提供任意的逻辑.这个定义是刻意模糊的.例如,一个标签可以输出内容,作为控制结构,例如 "if"语句或"for"循环从数 ...