波波烤鸭
10余年架构和线上讲师工作经验。精通Java,微服务和云原生相关,致力于Java技术的免费分享。
展开
-
Springboot整合Shiro之授权
本文我们来介绍SpringBoot整合Shiro来实现授权的操作一、注解的使用方式1.配置类修改 在权限校验的时候,我们一般在控制中通过注解来实现权限的校验,但我们需要放开注解的使用,在配置文件中的使用方式如下:对应的在配置类中的设置如下:/** * 开启授权注解使用方式 * @param manager * @return */@Beanpublic Authori...原创 2019-11-30 17:35:49 · 19582 阅读 · 2 评论 -
Shiro+easyUI+SpringMVC实现登录认证
最近在做一个小项目,其中认证这块使用shiro+SpringMVC+easyUI,因为easyUI在提交数据的时候使用的是ajax的异步提交,所以shiro在处理数据的时候需要重写FormAuthenticationFilter的相关方法,所以在此记录下实现的过程,以供大伙参考。 本文只给出核心代码,完整代码可去本人github上查看https://github.com/q2795838...原创 2019-04-22 20:22:34 · 50805 阅读 · 0 评论 -
shiro之深度解析FormAuthenticationFilter
shiro是我们在项目经常使用到的权限管理框架,本文我们就重点来分析FormAuthenticationFilter的验证过程。FormAuthenticationFilter1.继承结构 我们首先来看下FormAuthenticationFilter的继承结构,这样更加便于我们去分析2.父类的作用 从上面的继承结构图里我们发现FormAuthenticationFilter的...原创 2019-04-30 00:06:13 · 39779 阅读 · 0 评论 -
Shiro源码分析之认证过程
在前面分析的基础上我们来继续看下认证的过程Shiro源码分析之SecurityManager对象获取Shiro认证过程的源码认证过程的时序图源码跟踪1.DelegatingSubject类中的login 方法public void login(AuthenticationToken token) throws AuthenticationException { clear...原创 2019-03-09 18:27:14 · 2900 阅读 · 0 评论 -
Shiro源码分析之SecurityManager对象获取
文章目录SecurityManager获取过程1.SecurityManager接口介绍2.SecurityManager实例化时序图3.源码分析4.总结 上篇文章Shiro源码分析之获取SecurityManager工厂获取我们介绍了SecurityManager工厂的获取步骤,本文在此基础上来分析下SecurityManager对象产生的过程。SecurityManager获取过程1....原创 2019-03-09 12:06:30 · 2743 阅读 · 0 评论 -
Shiro源码分析之获取SecurityManager工厂获取
文章目录shiro源码分析1.分析数据准备2.获取SecurityManager工厂对象分析2.1先来看下对应的时序图2.2 源码跟踪2.3 总结 最近在介绍Shiro所以打算将shiro中的相关源代码给分析下。因为内容比较多,所以会分几篇来介绍,希望对大家有所帮助。shiro源码分析1.分析数据准备 先介绍下数据环境,后面的分析如果没有特别说明就都是基于此环境来测试的。<de...原创 2019-03-08 23:15:24 · 2850 阅读 · 1 评论 -
shiro教程10(freemaker使用shiro标签)
当我们需要将页面中一些没有权限的标签给隐藏掉的时候,shiro默认提供了对jsp的支持,但是我们有些时候前端模板引擎使用的是freemarker,这时我们就需要专门来设置下了。引入相关依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;net.mingsoft&amp;lt;/groupId&amp;gt; &amp;lt;a原创 2019-01-27 11:31:35 · 2980 阅读 · 0 评论 -
shiro教程9(session和remember me)
sessionshiro提供的session不依赖web容器,可以直接使用,如果是在web环境下,session中的数据和httpsession中的数据是通的。Shiro中的session可以出现在任何地方,例如service、dao等,不需要从controller中传递session参数,用户保存在session中的数据可以在HTTP session中获取,保存在httpsession中的数...原创 2019-01-26 21:55:19 · 4944 阅读 · 2 评论 -
shiro教程8(缓存管理)
缓存为什么要使用缓存在没有使用缓存的情况下,我们每次发送请求都会调用一次doGetAuthorizationInfo方法来进行用户的授权操作,但是我们知道,一个用户具有的权限一般不会频繁的修改,也就是每次授权的内容都是一样的,所以我们希望在用户登录成功的第一次授权成功后将用户的权限保存在缓存中,下一次请求授权的话就直接从缓存中获取,这样效率会更高一些。使用Ehcache来实现缓存引入j...原创 2019-01-26 20:23:01 · 2975 阅读 · 0 评论 -
Shiro教程7(整合SSM项目-授权)
授权原理分析首先授权必须是在认证通过之后才会执行的操作之前我们在Shiro教程4(授权操作)该教程中讲过,获取权限我们是通过如下方法实现的那么在自定义Realm中授权是怎么实现的呢?我们跟踪代码来看首先从 hasRole()方法来看。到此我们发现要对用户授权的话,我们只需要在定义Realm的doGetAuthorizationInfo方法中来授权。授权具体实现授权/**...原创 2019-01-25 23:27:27 · 2839 阅读 · 0 评论 -
shiro教程6(多realm认证)
为什么要使用多realm认证?实际开发中存在这样一种场景,同一个密码可能在MqSQL中存储,也可能在Oracle中存储,有可能MqSQL中使用的是MD5加密算法,而Oracle使用SHA1加密算法。这就需要有多个Realm以及认证策略的问题。实现多realm认证在上篇教程的基础上我们来完成此案例shiro教程5(整合SSM项目-认证) 首先MD5和SHA1加密简单实现SHA1算法...原创 2019-01-25 21:23:31 · 2977 阅读 · 0 评论 -
shiro教程5(整合SSM项目-认证)
搭建好SSM项目这个之前已经讲过,参数之前案例整合教程项目中引入相关依赖&amp;amp;amp;lt;!-- shiro相关的依赖 --&amp;amp;amp;gt;&amp;amp;amp;lt;dependency&amp;amp;amp;gt; &amp;amp;amp;lt;groupId&amp;amp;amp;gt;org.apache.shiro&am原创 2019-01-25 12:22:36 · 2984 阅读 · 1 评论 -
Shiro教程4(授权操作)
概念授权,又称作为访问控制,是对资源的访问管理的过程,即对于认证通过的用户,授予他可以访问某些资源的权限。授权的方式shiro支持三种方式的授权:代码触发通过写if/else 授权代码块完成Subject subject = SecurityUtils.getSubject();if(subject.hasRole(“admin”)) {//有权限} else {//无权限...原创 2019-01-24 20:31:17 · 2683 阅读 · 0 评论 -
shiro教程3(加密)
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容概念数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为&amp;quot;密文&amp;quot;,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其...原创 2019-01-24 19:29:04 · 2816 阅读 · 0 评论 -
shiro教程2(自定义Realm)
通过shiro教程1我们发现仅仅将数据源信息定义在ini文件中与我们实际开发环境有很大不兼容,所以我们希望能够自定义Realm。自定义Realm的实现创建自定义Realmjava类创建一个java文件继承AuthorizingRealm类,重写两个抽象方法/** * 自定义的Realm * @author dengp * */public class MyRealm ex...原创 2019-01-24 17:06:15 · 3435 阅读 · 1 评论 -
shiro教程1(HelloWorld)
shiro简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。框架图说明从外部查看shiro框架&amp;amp;amp;amp;amp;amp;amp;amp;gt;应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subjectapi说明..原创 2019-01-26 00:00:57 · 3448 阅读 · 4 评论