shiro
文章平均质量分 75
Mboss76
better coding
展开
-
shiro 安全框架总结
2021SC@SDUSC 经过十二篇的代码分析,对shiro的安全验证机制已经有了大概的了解 以下对shiro主要部分的概述总结: Subject:主体,既可以代表用户,也可以代表程序(网络爬虫等),它需要访问系统,系统则需要对其进行认证和授权,可以看到主体可以是任何可以与应用交互的“用户”。 SecurityManager: 安全管理,用户请求Url,对应于一个Subject对象,由SecurityManager统一对Subject进行认证和授权(父)。 Authenricator: 认证器,主要对S原创 2021-12-27 00:04:23 · 225 阅读 · 0 评论 -
shiro mgt包下RememberMeManager接口
2021SC@SDUSC RememberMeManager 负责在该主题与应用程序的会话中记住该主题的身份 接口 getRememberedPrincipals PrincipalCollection getRememberedPrincipals(SubjectContext subjectContext); 基于用于构建主题实例的指定主题上下文映射,返回主题的任何先前记住的主体以进行自动身份关联(又名“记住我”)。 上下文映射通常由Subject.Builder实现填充。 请参阅 Shi原创 2021-12-13 08:00:00 · 467 阅读 · 0 评论 -
shiro mgt包下SessionsSecurityManager类
2021SC@SDUSC SessionsSecurityManager类继承关系图: Shiro 支持SecurityManager类层次结构,它将所有session操作委托给一个包装SessionManager实例。 也就是说,这个类实现了SessionManager接口中的方法,但实际上,这些方法只是对底层“真实” SessionManager实例的传递调用。 此类或其父类未实现的其余SecurityManager方法由子类实现。 为了与此层次结构中的其他类保持一致,以及 Shiro 尽可能减少配置原创 2021-12-06 08:00:00 · 316 阅读 · 0 评论 -
shiro mgt包下RealmSecurityManager类
2021SC@SDUSC 类图: 私有变量 realms private Collection<Realm> realms; 用于所有身份验证和授权操作的Realm 的内部集合。 方法分析 setRealm public void setRealm(Realm realm) { if (realm == null) { throw new IllegalArgumentException("Realm argument cannot be null")原创 2021-11-29 09:00:00 · 140 阅读 · 0 评论 -
shiro mgt包下DefaultSubjectFactory类
2021SC@SDUSC DefaultSubjectFactory类图如下: 创建DelegatingSubject 实例的默认SubjectFactory实现。 简单来说就是通过工厂模式产生DelegatingSubject实例。 该类只有两个方法: 1.createSubject public Subject createSubject(SubjectContext context) { SecurityManager securityManager = context.reso原创 2021-11-27 23:16:55 · 247 阅读 · 0 评论 -
shiro mgt包下DefaultSubjectDAO类
2021SC@SDUSC DefaultSubjectDAO类图如下 私有变量 sessionStorageEvaluator private SessionStorageEvaluator sessionStorageEvaluator; 确定一个主题的会话是否可用于存储主题自己的状态的评估器 方法分析 isSessionStorageEnabled protected boolean isSessionStorageEnabled(Subject subject) { return原创 2021-11-19 01:05:18 · 522 阅读 · 0 评论 -
shiro mgt包下DefaultSessionStorageEvaluator类
2021SC@SDUSC DefaultSessionStorageEvaluator类图 #mermaid-svg-hmtaxmpcLPiBPcg4 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-hmtaxmpcLPiBPcg4 .label text{fill:#333}#mermaid-svg-hmtax原创 2021-11-13 22:36:44 · 427 阅读 · 0 评论 -
shiro mgt包下DefaultSecurityManager类
2021SC@SDUSC DefaultSecurityManager类图 #mermaid-svg-vLuEnrNW1kGFjunK .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-vLuEnrNW1kGFjunK .label text{fill:#333}#mermaid-svg-vLuEnrNW1kGFj原创 2021-11-11 09:20:36 · 256 阅读 · 0 评论 -
shiro mgt包下CachingSecurityManager类
2021SC@SDUSC CachingSecurityManager实现了SecurityManager,Destroyable,CacheManagerAware,EventBusAware四个接口 #mermaid-svg-VmYiMIpycBoABQ7S .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-V原创 2021-11-08 13:16:01 · 142 阅读 · 0 评论 -
shiro mgt包下AuthorizingSecurityManager类
2021SC@SDUSC Shiro 支持委托所有的 SecurityManager 类层次结构对包装的链接 Authorizer 实例的授权访问控制操作。这个类实现了 SecurityManager 接口中的所有 Authorizer 方法,但实际上,这些方法只是对底层的Authorizer 实例的传递调用。 类继承图如下 #mermaid-svg-ps1dvD4eEIoFqlmb .label{font-family:'trebuchet ms', verdana, arial;font-famil原创 2021-11-08 00:46:30 · 136 阅读 · 0 评论 -
shiro mgt包下AuthenticatingSecurityManager类
2021SC@SDUSC AuthenticatingSecurityManager继承于RealmSecurityManager,RealmSecurityManager继承于CachingSecurityManager,CachingSecurityManager实现了SecurityManager接口 #mermaid-svg-upfJWBw39zHKF1A9 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mer原创 2021-11-01 17:30:30 · 129 阅读 · 0 评论 -
shiro mgt包下的AbstractRememberMeManager类
2021SC@SDUSC AbstractRememberMeManager类综述 AbstractRememberMeManager类实现了RememberMeManager接口 静态变量: private static final Logger log = LoggerFactory.getLogger(AbstractRememberMeManager.class); 私有变量: private Serializer<PrincipalCollection> serializer;原创 2021-10-26 16:34:37 · 432 阅读 · 0 评论 -
Shiro源代码分析综述
2021SC@SDUSC Shiro是什么 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 Shiro主要功能 三个核心组件:Subject, SecurityManager 和 Realms. Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Accou原创 2021-09-30 08:50:35 · 105 阅读 · 0 评论