Shiro
偷偷学习被我发现
记录个人点滴
展开
-
初识Shiro
外部结构框架Subject :主体,代表当前’用户’。这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;即一个抽象概念;所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的执行者。Shiro Sec...原创 2019-07-16 12:28:17 · 246 阅读 · 0 评论 -
Shiro__认证过程&&记住我__自我理解
建议这篇博客结合我那篇源码跟踪来看,就比较能从源代码上去理解了!!!认证主要分为三步1、收集认证信息2、提交认证信息3、如果认证成功,则允许访问,否则就拒绝访问或者重试1、收集认证信息我们需要给系统提交两个信息:Principals:是一个表示用户的唯一属性,可以是用户名,邮箱之类的。Credentials:是证明用户身份的证书,可以是密码或者指纹之类的。使用了一个Usernam...原创 2019-07-22 21:51:42 · 320 阅读 · 0 评论 -
Shiro__获取SecurityManager工厂__源码跟踪分析
使用ini文件来代替数据库存储数据进行测试shiro.ini[users]root = 123456# 账号:root 密码:123456测试public static void main(String[] args) { // 1.获取SecurityManager工厂对象 Factory<SecurityManager> factory = new IniS...原创 2019-07-21 16:34:33 · 243 阅读 · 0 评论 -
Shiro__认证过程__源码跟踪分析
shiro认证过程源码public static void main(String[] args) { // 1.获取SecurityManager工厂对象 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 2.通过Factory对象获取S...原创 2019-07-21 14:11:37 · 678 阅读 · 0 评论 -
SSM整合Shiro___授权doGetAuthenticationInfo && shiro标签说明
首先授权必须是在认证通过之后才会执行的操作加入相关依赖可以从其他SSM整合Shiro系列中找,这里放主要的<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.21.R...原创 2019-07-17 21:51:17 · 298 阅读 · 0 评论 -
SSM整合Shiro___多认证Realm
实际开发中存在这样一种场景,同一个密码可能在MqSQL中存储,也可能在Oracle中存储,有可能MqSQL中使用的是MD5加密算法,而Oracle使用SHA1加密算法。这就需要有多个Realm以及认证策略的问题。加入依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/sp...原创 2019-07-17 20:51:27 · 450 阅读 · 0 评论 -
SSM整合Shiro___自定义认证Realm
加入依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artif...原创 2019-07-17 20:03:35 · 594 阅读 · 0 评论 -
MD5和SHA1加密
MD5和SHA1加密的区别MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高。Hash是一种特殊的算法,MD5就是其中常用的一种。它的算法的特征是不可逆性,并且计算的时所有的数据都参与了运算,其中任何一个数据变化了都会导致计算出来的Hash值完全不同,所以通常用来校验数据是否正确或用作身份验证。Hash,一般翻译做"...原创 2019-07-17 19:23:57 · 673 阅读 · 0 评论 -
Shiro__执行过滤器链过程&&补充了如何设置使用ajax异步提交等___源码跟踪
自定义过滤器public class CustomFormAuthenticationFilter extends FormAuthenticationFilter{ /** * 认证成功后会调用次方法 */ @Override protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ...原创 2019-07-23 22:02:26 · 374 阅读 · 0 评论 -
Shiro_授权doGetAuthorizationInfo
授权流程shiro支持三种方式的授权: shiro支持三种方式的授权代码触发注解触发标签触发代码触发简单授权实现Shiro.ini [users]#用户root的密码是zsl,此用户具有role1和role2两个角色root = zsl,role1,role2#账号为root 密码是 zsl [roles]#角色role1对资源user拥有create、updat...原创 2019-07-16 21:55:04 · 1307 阅读 · 0 评论 -
Shiro___加密加盐迭代
简单的模拟账号密码登入,为了简便就不去数据库真实的查询了这里先使用MD5加盐迭代加密,算出我们的密码加密结果MD5是不可逆的,单向加密,所以我们需要对原始数据进行加密后与加密的数据对比,而不是去解密package com.test;import org.apache.shiro.crypto.hash.Md5Hash;/** * 对123456加密, * 盐值(salt):zsl...原创 2019-07-16 12:30:33 · 595 阅读 · 0 评论 -
Shiro__自定义Realm认证账号密码,doGetAuthenticationInfo相关源码解析
自定义MyRealm继承AuthorizingRealm重写doGetAuthorizationInfo和doGetAuthenticationInfo两个方法,doGetAuthorizationInfo用于授权,doGetAuthenticationInfo用于认证package com.test;import org.apache.shiro.authc.Authenticatio...原创 2019-07-16 12:30:00 · 1458 阅读 · 0 评论 -
DelegatingFilterProxy相关源码解析
今天在用SpringBoot整合Shiro时,发现一个有趣的问题,算是对以前的知识点疏忽的补充吧。是的,你没看错,我先出SSM整合Shiro里该知识点记录起,因为SSM权限倾向于使用Shiro,而SpringBoot的权限倾向于使用Spring Security。看看SSM中使用Shiro的知识点:我们知道在配置SSM整合Shiro时,web.xml中的shiro过滤器的要配置一个代理对象D...原创 2019-08-14 00:16:23 · 197 阅读 · 0 评论