shiro
文章平均质量分 97
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
12程序猿
这个作者很懒,什么都没留下…
展开
-
SpringBoot 与Shiro 整合系列(五)会话管理
系列(五)讲述 SpringBoot整合Shiro 实现会话管理目录Shiro会话管理一、概述1.什么是shiro的会话管理?2.shiro中的session特性3.会话相关的 API4.会话监听器(SessionListener接口)二、shiro配置会话管理配置1.创建session监听类,实现SessionListener接口2.在ShiroConfig类中添加如下Bean2.1 配置session监听2.2 配置会话ID生成器2.3 配置sessionDAO2.4 配置sessionId的cook原创 2021-01-12 15:07:19 · 548 阅读 · 0 评论 -
SpringBoot 与Shiro 整合系列(四)多realm延伸之实现多realm不同数据表用户登录认证和鉴权
shiro是一个很好的登陆以及权限管理框架,但是默认是单realm单数据表,如果业务中用户分布在不同的数据表,单realm就很难实现登陆以及权限管理的功能,这篇博客就简单的介绍一个客户和系统管理员账号分布在不同的数据表情况下,shiro的多realm登陆验证,使用springboot,mybatis mysql等相关技术,博客底部附上源码,有兴趣的可以去下载...原创 2020-11-09 14:21:35 · 1022 阅读 · 3 评论 -
SpringBoot 与Shiro 整合系列(三)多Realm验证和认证策略
系列(三)讲述 SpringBoot整合Shiro 实现多Realm验证以及认证策略目录一、使用场景二、多Realm验证配置流程:1.添加第二个Realm SecondRealm.java三、认证策略1.概念2.认证策略的使用2.1 默认使用2.1 切换认证策略一、使用场景我们可能会把安全数据放到不同的表中,比方说 不同类型的用户登录,这个时候我们进行用户认证时,就需要进行不同的逻辑处理,就需要多个Realm。如果有多个Realm的话,还需要涉及到认证策略的问题。二、多Realm验证多重认证,主要原创 2020-11-03 09:33:12 · 1351 阅读 · 0 评论 -
SpringBoot 与Shiro 整合系列(二)实现MD5盐值加密
SpringBoot 与Shiro 整合- 密码的比对、MD5盐值加密目录一、Shiro认证时的密码比对二、加密1.密码的加密2.MD5加密3.实现MD5加密3.1在系列(一)的基础上,修改ShiroConfig配置类:3.2 修改下自定义Realm类中doGetAuthenticationInfo方法中的代码:3.3 修改数据库中的用户表的登录密码3.4 测试三、MD5盐值加密MD5盐值加密实现:四、总结密码的比对、MD5盐值加密都是通过CrendentialsMatcher(凭证匹配器)来实现的。原创 2020-10-30 15:50:44 · 404 阅读 · 0 评论 -
Shiro(十):shiro RememberMe(记住我)
shiro RememberMe(记住我)一、概述Shiro 提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器,下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:首先在登录页面选中 RememberMe 然后登录成功;如果是浏览器登录,一般会把 RememberMe 的Cookie 写到客户端并保存下来;关闭浏览器再重新打开;会发现浏览器还是记住你的;访问一般的网页服务器端还是知道你是谁,且能正常访问;但是比如我们访问淘宝时,如果要原创 2020-10-29 16:54:34 · 2174 阅读 · 0 评论 -
Shiro(十):shiro 缓存
视频中只是简单说了下shiro的 缓存,为了了解更多关于shiro 缓存相关知识,在网上找了下资料,感觉讲解的挺详细的,做下记录。资料:细说shiro之七:缓存转载 2020-10-26 17:13:03 · 131 阅读 · 0 评论 -
Shiro(九):shiro 会话管理
shiro 会话管理Shiro 提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管 JavaSE 还是 JavaEE 环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web 的透明支持、SSO 单点登录的支持等特性。建议在开发中,Controller层使用原生的HttpSession对象,在Service层中使用Shiro提供的Session对象。如果在Service层中使用HttpSession对象,那么属于侵入式,并不转载 2020-10-26 16:55:55 · 314 阅读 · 0 评论 -
Shiro(八):shiro 通过实例工厂方法的方式封装filterChainDefinitionMap
shiro 动态配置filterChainDefinitionMap在之前的学习中,项目中Shiro拦截所有请求的配置是默认配置在 applicationContext.xml文件中的。shiroFilter过滤器中的定义了filterChainDefinitions。权限管理filterChainDefinitions过滤器配置: <!-- 6.配置ShiroFilter 6.1 id必须和web.xml文件中配置的DelegatingFilterProxy的<原创 2020-10-26 15:15:38 · 875 阅读 · 0 评论 -
Shiro(七):shiro 注解权限控制-5个权限注解
shiro提供了相应的注解用于权限控制,如果使用这些注解就需要使用aop的功能来进行判断。shiro提供了spring aop集成,用于权限注解的解析和验证shiro注解权限控制-5个权限注解Shiro共有5个注解,接下来我们就详细说说吧1.@RequiresAuthentication:使用该注解标注的类,实例,方法在访问或调用时,当前Subject必须通过login 进行了身份验证;即 Subject.isAuthenticated() 返回 true2.@RequiresUser:表转载 2020-10-23 17:07:26 · 4287 阅读 · 0 评论 -
Shiro(六):Shiro 权限标签
接下来,学习实践Shiro 标签的相关使用。Shiro 提供了 JSTL 标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。一、Shiro 常用标签:1.guest 标签:用户没有身份验证时显示相应信息,即游客访问信息。 <shiro:guest> 欢迎游客访问,<a href="toLogin">登录</a> </shiro:guest>2.user 标签:用户已经经过认证/记住我登录后显示相原创 2020-10-23 15:05:24 · 428 阅读 · 0 评论 -
Shiro(五):Shiro 授权
Shiro(四)介绍Shiro 多Realm验证和认证策略,接下来讲解Shiro 授权。一、权限配置1.基本概念授权,也叫访问控制,即在应用中控制谁访问哪些资源(如访问页面/编辑数据/页面操作 等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体(Subject):访问应用的用户,在 Shiro 中使用 Subject 代表该用户。用户只有授权后才允许访问相应的资源。资源(Resource):在应用原创 2020-10-21 17:11:00 · 736 阅读 · 0 评论 -
Shiro(四):Shiro 多Realm验证和认证策略
Shiro(三)介绍Shiro 密码的比对与MD5盐值加密,接下来对 多Realm验证和认证策略进行简单的介绍。存在这样一种场景,我们可能会把安全数据放到不同的数据库,比方说 mysql里有,oracle里也有,mysql里面的加密算法是MD5,oracle里面的加密算法是SHA1。这个时候我们进行用户认证时,就需要同时访问这两个数据库,就需要多个Realm。如果有多个Realm的话,还需要涉及到认证策略的问题。目录一、多Realm验证配置流程:1.添加第二个Realm SecondRealm.jav原创 2020-10-19 16:29:59 · 638 阅读 · 0 评论 -
Shiro(三):Shiro 密码的比对、MD5盐值加密
Shiro(二)介绍如何实现一个简单的Shiro认证流程,接下来对 密码的比对与加密进行简单的介绍。Shiro 密码的比对、MD5盐值加密密码的比对、MD5盐值加密都是通过CrendentialsMatcher(凭证匹配器)来实现的。一、Shiro认证时的密码比对在Shiro进行密码比对时,一定会去拿UsernamePasswordToken 和SimpleAuthenticationInfo中封装的密码信息,那么此时要调用UsernamePasswordToken的 getPassword方法,或原创 2020-10-16 16:37:52 · 1620 阅读 · 2 评论 -
Shiro(二):Shiro 认证(xml配置方式)
Shiro 认证目录一、相关概念二、Shiro 认证流程三、实现认证流程1.创建表单页面2.编写ShiroHandlerController 类3.实现Realm四、测试一、相关概念二、Shiro 认证流程shiro认证流程:1.获取当前的Subject。调用SecurityUtils.getSubject()方法;2.测试当前的用户是否已经被认证。即是否已经登录。调用Subject的isAuthenticated()方法;3.若没有被认证,则把用户名和密码封装为UsernamePasswo原创 2020-10-12 16:08:57 · 637 阅读 · 0 评论 -
Shiro:Shiro 权限URL配置部分细节
一、部分细节[urls] 部分的配置,其格式是: “url=拦截器[参数],拦截器[参数]”;如果当前请求的 url 匹配 [urls] 部分的某个 url 模式,将会执行其配置的拦截器。anon(anonymous) 拦截器表示匿名访问(即不需要登录即可访问)authc (authentication)拦截器表示需要身份认证通过后才能访问二、URL 匹配模式三、URL 匹配顺序URL 权限采取第一次匹配优先的方式,即从头开始使用第一个匹配的 url 模式对应的拦截器链。如:– /原创 2020-10-12 09:50:59 · 692 阅读 · 0 评论 -
Shiro(一):Shiro集成Spring(xml配置方式)
根据尚硅谷Shiro视频学习Shiro集成Spring、授权、认证、密码比对、多Realms、会话管理、缓存、记住我相关功能实现。这边文章主要讲的是Shiro集成Spring。实现过程如下:一、创建 spring+spring mvc 项目在使用Myeclipse创建 spring+spring mvc 项目 文里已经详细介绍了,这里不再累赘。二、shiro集成spring### 1.引入 shiro的jar 包下载地址:...原创 2020-10-10 17:05:58 · 1246 阅读 · 0 评论 -
SpringBoot 与Shiro 整合系列(一)用户认证与授权实战
观看SpringBoot与Shiro整合-权限管理实战视频 ,根据视频学习 一步一步 实现 SpringBoot +Shiro 整合实现用户认证权限管理。SpringBoot 与Shiro 整合实现用户认证、权限校验目录1.分析shiro的核心API2.SpringBoot 整合Shiro步骤2.1 导入 shiro 与spring 整合依赖2.2 自定义Realm2.3 编写Shiro配置类3.使用Shiro内置的过滤器实现页面拦截4.实现用户认证(登录)操作4.1 设计登录页面4.2 编写Cont原创 2020-09-10 16:08:02 · 795 阅读 · 0 评论