shiro
杨白云-001
这个作者很懒,什么都没留下…
展开
-
shiro session分析 part 1
1:首先session监听类,默认一个空实现,方便我们选择只重写我们需要的方法:2:session接口定义3:session代理类,简单的代理session的各种操作4:SimpleSession不仅实现了session接口,还实现了ValidatingSession接口5:ExecutorServiceSessionValidationScheduler ...原创 2019-05-30 12:18:28 · 146 阅读 · 0 评论 -
shiro subject源码分析
核心接口Subject,通常我们会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。可以进行登录,退出,权限验证,获取用户信息,session.principal代表什么那?解释:1)可以是uuid2)数据库中的主键3)LDAP UUID或静态DN4)在所有用户帐户中唯一的字符串用...原创 2019-06-03 13:14:47 · 320 阅读 · 0 评论 -
shiro realm源码分析
核心接口Realm,主要功能是获取要验证的用户用心,可以从数据库,文件等数据源抽象类CachingRealm,增加了设置缓存功能。AuthenticationRealm1:验证缓存,子类实现cache.put(cacheKey, subclassAuthenticationInfoInstance);2:logout的时候清除缓存实现接口Realm的方法:...原创 2019-06-03 12:48:36 · 218 阅读 · 0 评论 -
shiro 权限认证源码分析
权限认证关于注解的源码分析请参考我的另一篇文章 https://blog.csdn.net/u013995395/article/details/90718739权限认证默认实现类:ModularRealmAuthorizer,可以设置权限解析器,角色解析器。调用Authorizer接口的isPermitted方法验证,最终其实是realm实现类验证 public bool...原创 2019-06-03 10:48:40 · 305 阅读 · 0 评论 -
shiro 用户认证源码分析
定义接口获取用户用户名密码 AuthenticationToken,在子类实现:Authenticator接口用来认证用户,可以看出参数就是AutenticationToken,从中获取用户名密码进行验证AuthenticationInfo和AuthenticationToken比较相似,AuthenticationInfo是已经验证过的保存的用户信息,而Auth...原创 2019-06-03 10:21:51 · 189 阅读 · 0 评论 -
shiro 验证角色,权限过程分析
首先说明,在shiro中,实际应用中在方法上添加 RequiresPermissions或者RequiresRoles注解会触发aop执行验证当前Subject是否有相关权限或者角色的代码。RequiresPermissions的注解处理器中调用 getSubject().isPermitted(String permission)验证。RequiresRoles 的注解处理器...原创 2019-05-29 13:55:34 · 1582 阅读 · 0 评论 -
shiro 登录验证身份过程分析
//步骤1:首先利用工具类获取Subject,没有获取到则创建一个新的SubjectSubject currentUser = SecurityUtils.getSubject();//步骤2:在默认实现类DelegatingSubject中执行登录验证过程public void login(AuthenticationToken token) throws Authenticati...原创 2019-05-29 11:47:35 · 418 阅读 · 0 评论 -
shiro @RequiresPermissions设计与 实现
本篇主要以@RequiresPermissions注解为例,讲解shiro中如何设计与实现首先定义注解@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface RequiresPermissions { /** * Th...原创 2019-05-31 17:39:12 · 4020 阅读 · 0 评论 -
shiro与springboot整合原理
首先在我们之前的chapter1文章中讲到shiro配置类中有这个方法: @Bean public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) { System.out.println("ShiroConfiguration.shirFilter()"); S...原创 2019-05-31 15:35:38 · 1188 阅读 · 0 评论 -
chapter1 使用shiro登录验证
首先我们先整合springboot和shiro,在pom中引入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <v...原创 2019-05-31 13:38:37 · 131 阅读 · 0 评论 -
shiro securityManager分析
接口SecurityManager,继承了接口Authorizer,SessionManager,Authenticator接口CachingSecurityManager增加了缓存和日志功能和设置 EventBusThe EventBus to use to use to publish and receive events of interest during Shiro's...原创 2019-06-03 13:37:30 · 638 阅读 · 0 评论