Shiro
文章平均质量分 83
一枚会开发的测试
自律
展开
-
自学-Shiro整合Spring-02
项目路径: Shiro一般都是在web项目中进行使用的,所以我写个简单的小例子,来整合一下Spring,进而快速的来学习Shiro的相关知识。步骤:1.建一个动态的web工程。 2.加入shiro和Spring的相关jar包。 3.配置Spring的相关文件。 注:最好是到这一步可以先进行测试,防止原创 2016-12-07 17:41:05 · 439 阅读 · 0 评论 -
自学-shiro注解-16
前几节我们学习了ShIro 的标签和编程式,那现在就来学习下注解的授权吧!大致有这几个注解:@RequiresRoles(value={“admin”, “user”}, logical= Logical.AND):表示当前 Subject 需要角色 admin 和user@RequiresPermissions (value={“user:a”, “user:b”}, logical原创 2017-01-16 21:54:45 · 1408 阅读 · 2 评论 -
自学-Shiro 的授权-14
我们先来探讨下授权需要继承那个类吧。先来看Realm的继承关系:Realm是他们的父类,继承AuthorizingRealm其也间接继承了 CachingRealm(带有缓存实现)。通过源码分析,可以查看认证只是调doGetAuthorizationInfo 所用直接继承AuthorizingRealm即可:那接下里我们就来写个例子吧:项目路径:原创 2016-12-28 14:03:21 · 350 阅读 · 0 评论 -
自学-Shiro的授权流程-13
首先先来看下授权的流程图在来详细解释:流程如下及断点:• 1、首先调用 Subject.isPermitted*/hasRole* 接口,其会委托给SecurityManager,而 SecurityManager 接着会委托给 Authorizer;hasRole: isPermitted: • 2、Authorizer是真正的授权原创 2016-12-28 13:38:35 · 379 阅读 · 0 评论 -
自学-Shiro的权限管理-12
Shiro的权限管理:接下来几节是详细对授权来进行说明。首先我们先来写一个简单的例子,看下这个例子能不能从中受到一点启发好来学习Shiro的授权。现在我们在来创建一个页面。即:admin.jsp<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+reque原创 2016-12-27 16:41:49 · 326 阅读 · 0 评论 -
自学-为什么自定义的Realm认证中 直接继承AuthenticatingRealm呢?-06
先我们先来对上一节中的遗留的问题进行简单的解答下:Realm 的继承关系:Realm是他们的父类,继承AuthenticatingRealm其也间接继承了 CachingRealm(带有缓存实现)。通过源码分析,可以查看认证只是调用了doGetAuthenticationInfo接下里的一节将探讨加密算法及怎么实现。原创 2016-12-17 17:05:22 · 2359 阅读 · 0 评论 -
自学-Shiro中多个Realms的另外一种配置方式-11
前几节中项目中的Realms都是这样配置的,现在有一个其他的配置方法也是很好,首先先和之前的配置做个对比:之前的: --> 现在的:原创 2016-12-25 00:34:21 · 1560 阅读 · 0 评论 -
自学-Shiro的MD5加密及更加严格的盐值加密-08
上一节我们看到了是通过credentialsMatcher 属性来进行的密码的比对的,那我们怎么才能把客户输入的密码进行MD5加密呢?首先我们先来看下credentialsMatcher的继承类都有哪些?所以我们可以通过org.apache.shiro.authc.credential.HashedCredentialsMatcher 来进行MD5加密,但是我们该怎么进行处理呢原创 2016-12-17 23:31:47 · 13948 阅读 · 3 评论 -
自学-Shiro的身份认证-05
学习了前几节,大家可能只是对Shiro有个大概的了解,其实,Shiro的重点及难点都在后面的博客中,接下来的这节我们来探讨一下身份认证.我们可以一起来看下身份认证流程,有个大概的思绪,在来一起写代码进行实现。身份认证流程: 流程步骤(借鉴英文文档翻译):1.首先调用Subject.login(token)进行登录,其会自动委托给Security Manager,调用之前原创 2016-12-15 17:20:58 · 681 阅读 · 0 评论 -
自学-Shiro中密码比对-07
大家应该都知道涉及到任何一个项目,登录的密码是不会采用明文的方式进行存储的,都经过严格的加密方式来存储密码。但是在前面的学习中,因为没有使用数据库来存放登录的用户名和密码信息,但是我们怎么才知道前台传过来的密码到底是采用什么方式呢,我们怎么来改变现有的方式来对密码进行严格的加密呢?现在我们先来通过打断点的方式来获取加密的方式吧。回想前几节中前台传入的用户名和密码是封装到了Usernam原创 2016-12-17 21:18:33 · 1645 阅读 · 0 评论 -
自学-自定义AuthenticationStrategy的验证策略-10
如果进项多个Realm的校验时,第一个Realm验证通过,第二个验证不通过,我们该怎么进行处理呢?这时候我们就应该使用Shiro的验证策略来解决这个问题了。验证策略有三种:llSuccessFulStrategy:所有Realm验证成功才算成功,且返回所有Realm身份验证成功的认证信息,如果有一个失败就失败了。AtLeastOneSuccessFulAtrategy:原创 2016-12-21 13:41:12 · 2178 阅读 · 0 评论 -
自学-Shiro中多Realm的配置-09
项目结构:学习了前几节,只是知道了验证的一个流程和一些其他的原理等。那么Realm我们该怎么去理解呢?首先得知道Realm是什么?怎么操作?为什么要使用Realm?①:Realm:域, Shiro 从 Realm 获取安全数据 (如用户、 角色、 权限) , 就是说 SecurityManager要验证用户身份, 那么它需要从 Realm 获取相应的用户进行比较原创 2016-12-21 12:51:27 · 2887 阅读 · 0 评论 -
自学-DelegatingFilterProxy-04
学习了这么几节Shiro可能,也许大家对DelegatingFilterProxy还不是很了解,其实有一些东西需要去注意,防止在项目中出现这种低级的错误。首先在web.xml中是这样配置的: shiroFilter org.springframework.web.filter.DelegatingFilterProxy原创 2016-12-14 13:52:09 · 311 阅读 · 0 评论 -
自学-Shiro简介及helloWorld-01
1.Shiro是什么? 是一个安全权限框架。 eg:我们要给一个用户进行分配角色,然后在给某个角色分配权限,如果不使用框架的话,相对来说写java代码会相对复杂一点,就是为了解决这种复杂的问题,进而来使用框架来实现这些功能。通过Shiro的Quickstart 来学习。2.Shiro能干什么? 认证、授权、加密、会话管理、与Web 集成、缓存等。原创 2016-12-05 22:54:04 · 472 阅读 · 0 评论 -
自学-ShiroFilter的工作原理-03
通过上一节的学习,大家想必很想知道这个权限设置是怎么一回事呢? 其实原理很简单,在web.xml中一shiroFilter(属性中filterChainDefinitions来设置)入口来控制拦截的URL,进而来判断是否可以进行登录或进行安全控制权限等。图例如下:原创 2016-12-13 23:25:51 · 380 阅读 · 0 评论 -
自学-filterChainDefinitions的源码及和数据库进行交互-17
前几节我们应该对这个filterChainDefinitions 有了解了吧!我们所有的权限设置都配置在了这个org.apache.shiro.spring.web.ShiroFilterFactoryBean这个属性中,我们可以想下,现在是有这几个权限,那加入有很多呢,如果还配置在这里是不是不太方便了,开发就是能多简便我们就怎么写对吧,根据观察我们可以发现这个属性中的值是键值对的形式而且还是有序原创 2017-01-16 22:24:17 · 3281 阅读 · 2 评论