1.昨天主要是对Jwt的代码里面不熟悉的代码进行了简要的理解,发现其实有些流程并不是普通程序员自己写的,而是自己进行拓展,这些流程是开源程序员写的开发流程;我发现这些代码一般要么是父类的方法实现,要么就是爷爷类的方法代码实现或者是更高辈分的;所以在敲代码觉得这个函数自己不熟悉的话可以自己跳转到相应类来进行比较熟悉;
 
2.理解自己没有用过的代码
  1. 序列化:数据是以二进制在网络中传输,所以我们需要将对象转化为字节类型来传送数据;反序列化是将字节解析为对象
  2. ObjectMapper:Json与对象之间转换的一个工具类
  3. JwtUtil:主要用于生成和校验token;主要有:生成JIT、私钥加密token、公钥解析token、通过token获取用户信息,载荷信息
  4. RsaUtil工具类:根据密文生成公钥和私钥,再从文件中获取公钥和私钥
  5. JsonIgnore注解:序列化时忽略掉一些实体类中的属性
  6. SysRole权限类需要继承GrantedAuthority接口类,并实现getAuthority(),返回权限类的名称就是对应用户权限
  7. SysUser用户类实现UserDetails接口类,并实现getAuthority(),isAccountNonExpirated()、isAccountNonLocked()、isCreadentialExpirated()、isEnable()等方法
  8. 在SysUserMapper类中通过@Results格式省去mybatis文件,进行数据的查询以及字段与属性的对应;通过many=@Many(select = "多的包类方法名")来实现一对多的映射
  9. SysUserDetailsService继承UserDetailsService类,它的实现类需要继承loadUserByUsername()
  10. RequestUtil和ResponseUtil类,RequestUtil工具类主要是通过JsonUtil来读取请求中的输入类来转换输入流为指定类型对象;ResponseUtil工具类主要通过设置响应信息,以及使用JsonUtil类将响应的状态,信息以Result实体类以字符串方式写
  11. 认证过滤器JwtAuthenticationFilter继承UsernamePasswordAuthenticationFilter,但是它是继承AbstractAuthenticationProcessingFilter的用户认证方法attemptAuthentication()、登陆成功后方法successfulAuthentication()、以及登录失败方法unSuccessfulAuthentication()
  12. 认证配置类和验证配置类;daoAuthenticationProvider主要用来解析并认证UsernamePasswordAuthenticationToken的;自定义认证配置类和验证配类
  13. 资源类汇总的验证过滤器继承BasicAuthenticationFilter,实现了它的doFilterInternal(),主要根据header判断是否token是否合法,根据用户信息判断用户验证是否成功
  14. @Secured({"ROLE_ADMIN","ROLE_PRUDUCT"}),使用上面必须在启动类上面添加EnableGlobalMethodSecurity(securedEnable=true)才能使用;作用是上述权限才能访问它的跳转页面
 
3.反思:其实自己可以通过找某方法的父类来了解该方法的使用,再不明白再去搜索,不然光驱查询自己也可能无法接受,再就是很多东西其实都是基础,自己要结合以前的基础去分析现在别个写的流程
 
4.复盘:明天把整个代码重新复盘一遍,巩固所学
 

6.理解Jwt代码的更多相关文章

  1. 想全面理解JWT?一文足矣!

    有篇关于JWT的文章,叫"JWT: The Complete Guide to JSON Web Tokens",写得全面细致.为了自己能更清晰理解并惠及更多人,我把它大致翻译了过 ...

  2. 理解JWT(JSON Web Token)认证

    理解JWT(JSON Web Token)认证 最近想做个小程序,需要用到授权认证流程.以前项目都是用的 OAuth2 认证,但是Sanic 使用OAuth2 不太方便,就想试一下 JWT 的认证方式 ...

  3. 理解JWT(Json Web Token)

    这篇文章写得不错: 理解JWT(JSON Web Token)认证及python实践,这里不做转载,仅摘要如下,有删改,仅做个人学习,感谢原作者. 常用认证机制: 1)HTTP basic Auth: ...

  4. 理解JWT的使用场景和优劣

    理解JWT的使用场景和优劣 淘楼小能手 百家号04-2816:20 经过前面两篇文章<JSON Web Token - 在Web应用间安全地传递信息><八幅漫画理解使用JSON We ...

  5. Beam Search快速理解及代码解析

    目录 Beam Search快速理解及代码解析(上) Beam Search 贪心搜索 Beam Search Beam Search代码解析 准备初始输入 序列扩展 准备输出 总结 Beam Sea ...

  6. 看图理解JWT如何用于单点登录

    单点登录是我比较喜欢的一个技术解决方案,一方面他能够提高产品使用的便利性,另一方面他分离了各个应用都需要的登录服务,对性能以及工作量都有好处.自从上次研究过JWT如何应用于会话管理,加之以前的项目中也 ...

  7. 【.NET Core项目实战-统一认证平台】第十二章 授权篇-深入理解JWT生成及验证流程

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了基于Ids4密码授权模式,从使用场景.原理分析.自定义帐户体系集成完整的介绍了密码授权模式的内容,并最后给出了三个思考问题,本 ...

  8. 理解JWT(JSON Web Token)认证及python实践

    原文:https://segmentfault.com/a/1190000010312468?utm_source=tag-newest 几种常用的认证机制 HTTP Basic Auth HTTP ...

  9. 冷饭新炒:理解JWT的实现原理和基本使用

    前提 这是<冷饭新炒>系列的第五篇文章. 本文会翻炒一个用以产生访问令牌的开源标准JWT,介绍JWT的规范.底层实现原理.基本使用和应用场景. JWT规范 很可惜维基百科上没有搜索到JWT ...

  10. Java面向对象理解_代码块_继承_多态_抽象_接口

    面线对象: /* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生 ...

随机推荐

  1. uniapp 微信小程序 使用 echarts 避坑

    echarts.min.js的版本 5.3.2 第一步 : https://blog.csdn.net/qq_45164516/article/details/125298373 第二步: 重中之重修 ...

  2. 2vue

    事件 v-on:click="handle" @click="handle" handle创建在methods里 <!DOCTYPE html> & ...

  3. NOIP2010普及组

    T2]接水问题 有一些小细节,比如如果最小值存在多个,比如最后还需要一个完全结束的最大值 #include<iostream> #include<cstring> #inclu ...

  4. QT数据结构内存分配策略

    在QT的Reference中无意看到了QString及其他类型数据结构内存的分配策略,翻译并记录一下. 在QString的数据结构中,QString通过一次附加一个字符来动态构建字符串.假设我们向QS ...

  5. Nginx版本。

    Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版 ...

  6. C/C++ 数据结构优先级队列的实现(使用二级指针)

    #include <iostream> #include <Windows.h> #include <iomanip> //优先级队列的实现 using names ...

  7. 《Unix/Linux系统编程》第十二周学习笔记

    <Unix/Linux系统编程>第十二周学习笔记 MySQL数据库简介 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一.在 WEB 应用方面,MySQL 是最好的 ...

  8. Asp.Net Core 网站使用TinyMCE实现上传图片

    1.下载TinyMCE https://www.tiny.cloud/get-tiny/self-hosted/ 解压缩后放在网站wwwroot目录 2.下载中文语言包 https://www.tin ...

  9. [扫描工具]dirsearch简单使用

    [扫描工具]dirsearch简单使用 dirsearch是一个python开发的目录扫描工具.和我们平时使用的dirb.御剑之类的工具一样,就是为了扫描网站的敏感文件和目录从而找到突破口. 安装: ...

  10. NFS存储安装配置

    一.NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种, 它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 户 ...