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