shiro
讲不出 再见
这个作者很懒,什么都没留下…
展开
-
shiro——拦截器Filter
1. Filter接口(拦截器)shiro的拦截器是对Javax.servlet.Filter接口的扩展。本文的拦截器讲解是根据下图的继承顺序来讲的。Filter源码如下:三部分,初始化、执行过滤、销毁。将var1 请求url放到FilterChain过滤链中去过滤。public interface Filter { default void init(FilterCon...原创 2019-08-22 17:06:31 · 2286 阅读 · 2 评论 -
shiro——session会话管理
目录1. 会话1.1 Session 接口1.2 SessionManager 会话管理1.3 SessionListener 会话监听2. 会话持久化2.1 SessionDAO接口2.2AbstractSessionDAO类2.3 CachingSessionDAO 类2.4 EnterpriseCacheSessionDAO 类2.5 Memo...原创 2019-08-23 18:02:53 · 17069 阅读 · 5 评论 -
shiro——认证原理(源码流程)
目录1. Subject 的本质1.1 login( token ) 登录1.1.1this.clearRunAsIdentitiesInternal() 解析 ——11.1.2this.securityManager.login(this, token) 解析 ——21. Subject 的本质一般我们用下面的语句进行登录认证,没有抛出异常就是验证成功。S...原创 2019-08-27 13:44:26 · 1142 阅读 · 1 评论 -
shiro——授权原理(源码流程)
目录1. 授权入口2. 源码追踪1. 授权入口subject.isPermitted(url); 这就是入口,如果用户有这个url权限,那么就返回true,如果没有,则返回false。2. 源码追踪由于我们的Subject默认是由DelegatingSubject 类实现的,所以调用的是DelegatingSubject类的isPermitted(String url...原创 2019-08-29 11:25:12 · 928 阅读 · 0 评论 -
shiro 过滤器 Filter 修改请求url
shiro框架中有拦截器(过滤器)Filter机制,先将我们的request请求进行匹配,如果匹配成功,则执行相应的Filter,如果不匹配,则放行,让Servlet的拦截器去匹配,执行相应的Controller。Filter修改request的url,让Filter授权失败了,还能继续访问我们的一个Controller层 接口。protected boolean isAccessAll...原创 2019-09-06 13:59:52 · 1860 阅读 · 0 评论 -
shiro——SessionKey 系列源码
1. 类图可以看出,shiro里的此接口实现比较简单。1.1 SessionKey 接口public interface SessionKey { Serializable getSessionId(); //获取会话Id}2. DefaultSessionKey 类public class DefaultSessionKey implements Sessi...原创 2019-09-09 17:26:55 · 1113 阅读 · 0 评论 -
shiro——SecurityManager、shiro架构原理
1. SecurityManagerpublic interface SecurityManager extends Authenticator, Authorizer, SessionManager { Subject login(Subject var1, AuthenticationToken var2) throws AuthenticationException; ...原创 2019-08-22 10:10:11 · 2721 阅读 · 0 评论 -
shiro包中的quartz包冲突
在pom.xml中添加依赖的时候注意:先将shiro包中的quartz去掉。<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>${shiro-version}...原创 2019-04-21 16:56:07 · 750 阅读 · 0 评论 -
quartz包、QuartzSessionValidationScheduler错误
报错:an tempt to call the method org.quartz.Scheduler.getListenerManager(). but 它不存在。 就这种错误。java.lang.InstantiationError: org.quartz.SimpleTrigger遇到这种问题,基本就是本文所提到的了。spring 3.0.1以下的使用 quartz 1点几版...原创 2019-04-23 10:15:07 · 2821 阅读 · 0 评论 -
shiro——INI 配置
1、先做一个理解: 对象名=全限定类名相对于调用public 无参构造器创建对象 对象名.属性名=值相当于调用setter方法设置常量值 对象名.属性名=$对象引用相当于调用setter方法设置对象引用2、INI配置文件是shiro的本身的配置文件类型,可以用INI文件对shiro进行配置。INI文件主要有四部分main, users, r...原创 2019-08-22 10:51:32 · 195 阅读 · 0 评论 -
shiro——认证Authentication
目录1. 类图2、ModularRealmAuthenticator 类1. 类图Authenticator是认证的入口。2、ModularRealmAuthenticator 类这是一个shiro自带的类,实现了Authenticator接口,作用是方便我们配置多个Realm。假设定义Realm1 、Realm2、 Realm3 是三个实现了Realm接口的类。...原创 2019-08-20 15:47:41 · 287 阅读 · 0 评论 -
shiro——授权
1. 类图Authorizer是授权的入口。2. 用户、角色、资源、权限授权中的几个概念,一般一个用户只有一个角色,一个角色有多个资源,一个资源有多个权限,通过这样的关系,就可以管理和维护一个用户在系统中的权限。3. shiro 的三种授权方式3.1 直接编程方式Subject subject = SecurityUtils.getSubject();if(subj...原创 2019-08-21 18:23:34 · 153 阅读 · 0 评论 -
shiro——Session 系列源码
目录1 shiro 会话的类图1.1 Session 接口2. DelegatingSession 类(一种类型的会话类)3.ProxiedSession 类(一种类型的会话类)4. SimpleSession类 (常用的 会话类)5.StoppingAwareProxiedSession 类(很重要的会话类)1 shiro 会话的类图1.1 Sess...原创 2019-09-10 10:23:56 · 611 阅读 · 0 评论