吃透Shiro源代码
如果为公司项目引入Shiro技术,我真的敢担这个风险吗?如果吃不透某个技术,生产上出了问题,我真能解决吗?
小大宇
能与优秀的人为伍自然就会变优秀
展开
-
吃透Shiro源码9----SimpleSession
文章目录技术手法(1)SimpleSession技术手法(1)SimpleSessionpublic class SimpleSession implements ValidatingSession, Serializable { private Serializable id; private Date startTimestamp; private Date l...原创 2020-01-09 09:19:17 · 820 阅读 · 0 评论 -
吃透Shiro源码8----String Byte[]互转
文章目录技术手法(1)String、char[]、byte[]数组三者互转技术手法(1)String、char[]、byte[]数组三者互转String转为byte[],可以按照不同的编码格式转为原创 2020-01-04 17:54:18 · 182 阅读 · 0 评论 -
吃透Shiro源码7----AuthenticationInfo与重载
文章目录技术手法(1)多个方法重载设计思路(2)AuthenticationInfo对象取出实际权限技术手法(1)多个方法重载设计思路如果有多重方法在重载的话,提供一个同名的private或protected方法。各种重载对象最后转成此private或protected方法需要的格式。其实今天处理的代码并不复杂,实际上就是通过AuthenticationInfo对象,将其解析成Collect...原创 2019-12-24 17:24:34 · 272 阅读 · 0 评论 -
吃透Shiro源码6----AuthorizingRealm
文章目录技术手法(1)AuthorizingRealm设计思路重点研究类技术手法(1)AuthorizingRealm设计思路AuthorizingRealm这个类的大致设计思路与AuthenticationRealm一致。暂时学到的最核心的方法就是通过 凭证对象PrincipalCollection对象获取缓存中的AuthorizationInfo对象。其核心思想就是如何缓存。publi...原创 2019-12-23 17:24:00 · 1087 阅读 · 0 评论 -
吃透Shiro源码5----AuthenticationRealm
文章目录技术手法(1)AuthenticationRealm设计思路重点研究源码技术手法(1)AuthenticationRealm设计思路AuthenticationRealm这个类我看了好久,实际上最最核心的方法就是提供如何通过用户传递的AuthenticationToken来获取AuthentioncationInfo的方法。@Override public final Au...原创 2019-12-21 15:08:10 · 590 阅读 · 0 评论 -
吃透Shiro源码4----Cache、CacheManager
文章目录技术手法(1)究竟什么是缓存(2)用Map作为缓存实现(3)如何管理缓存生命周期(4)AOP解析方法上的注解思路重点研究类技术手法(1)究竟什么是缓存缓存这个词语,我耳朵都快听出茧子了,什么Redis、Ecache。不过,到底什么是缓存,说实在的,我一直很模糊其概念。今天终于接近了缓存代码的源头。缓存到底是什么?我的总结:缓存对象是一个可以封装多组键值对的特殊对象。因此,缓存可以视为...原创 2019-12-10 20:24:49 · 531 阅读 · 0 评论 -
吃透Shiro源码3----Session
文章目录技术手法(1)接口的代理(2)接口作为方法参数(3)生命周期的使用工具重点研究类技术手法(1)接口的代理Shiro自己也实现了会话机制。Shiro创建了自己的Session接口。为了拦截某些Session调用并执行其他逻辑,创建了一个简单的Session代理。如何扩展呢?可以继承ProxiedSession这个类,重写某个function(),并调用super.function()立...原创 2019-12-09 19:22:43 · 244 阅读 · 0 评论 -
吃透Shiro源码2----PrincipalCollection、ThreadState
文章目录技术手法(1)工厂返回单例与多例(2)备忘录:如何保住旧对象状态?(3)集合如何懒加载重点研究类技术手法(1)工厂返回单例与多例创建内部实例对象,如果是单例对象,那么就把创建出来的对象塞到singletonInstance中并返回这个单例对象。如果不是,那么就创建一个新对象给调用者public abstract class AbstractFactory<T> ...原创 2019-12-07 11:44:10 · 880 阅读 · 0 评论 -
吃透Shiro源码1-----MapContext、ThreadContext
今天第一次用markdown编辑器,希望用的顺手。不是,目录在哪里生成呢,我擦。。。文章目录技术手法(1)组合手法(2)集合框架返回不可修改的视图(3)泛型与类型判断(4)如何从子线程拿到父线程的值重点研究类技术手法(1)组合手法实现某个接口,然后内部组装一个已经实现此接口的类。类似于适配器模式一样。这个解决了我一直的困惑,如何继承一个final类,原来组合就能完美解决。 ...原创 2019-12-07 11:43:28 · 731 阅读 · 0 评论