SpringOAuth2学习笔记三

标签: Springboot 分类: Java 创建时间:2020-10-20 08:29:32 更新时间:2023-10-20 11:23:26

1.退出登录

经过查询参考资料,很多的文章其实说的是Security如何实现消除session,然后实现退出登录的过程,比如参考文章3,虽然标题上有oauth2,但是实际上没有说名如何注销jwt有效性。根据参考文章4中提到的解决方案,总结起来就是四条:

1.Set a reasonable expiration time on tokens
2.Delete the stored token from client side upon log out
3.Have DB of no longer active tokens that still have some time to live
4.Query provided token against The Blacklist on every authorized request

翻译过来就是:
(1) 设置合理的过期时间
(2) 在客户端一侧删除token
(3) 用一个数据库存储还没有过期的token
(4) 对每一个请求都去查询数据库,看看是否是在白名单中

2.类与类之间的关系

在看别人写的源码分析时候,总会贴几张类之间关系的UML图,但是我对于UML关系又不是很理解。
(1) 依赖关系(Dependence):依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

(2) 泛化关系(Generalization):也叫继承关系,泛化关系用带空心三角形的直线来表示。

(3) 关联关系(Association):又分为双向关联(实线表示)、单向关联(实线加实箭头)、自关联(实线加实箭头)、重数性关联。

(4) 聚合关系(Aggregation):聚合关系用带空心菱形的直线表示。

(5) 组合关系(Composition):组合关系用带实心菱形的直线表示。

(6) 实现关系(Implementation):类与接口之间的实现关系用带空心三角形的虚线来表示。

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。