Shiro
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。
每天都要进步一点点
工作日常技术学习、积累、总结
展开
-
【Shiro第九篇】SpringBoot + Shiro整合JWT
一、概述JWT,即Json Web Token,JWT作为当下比较流行的身份认证方式之一主要的特点是无状态,把信息放在客户端,服务器端不需要保存session,适合在分布式环境下使用。传统的Token认证方式:用户登录,服务器端返回Token,并将Token保存在服务器端,以后用户再次访问时,需携带Token,服务器端获取Token后,再去数据库中获取Token进行校验。 基于JWTToken认证方式:用户登录,服务器端给用户返回一个Token,但是服务器端不保存,以后用户再次访问时,需要携带To原创 2020-11-21 17:07:01 · 796 阅读 · 0 评论 -
【Shiro第八篇】SpringBoot + Shiro使用Shiro标签
一、概述前面的文章总结了Shiro如何实现用户授权功能,并且当用户访问未授权的资源时,会跳转到未授权页面,在实际项目中,一般如果当前用户登录后,针对某个资源,如果没有授权,那么这些资源压根就不应该展示出来,所以Shiro提供了标签用于控制这些资源的显示隐藏。实际上Thymeleaf官方并没有提供Shiro的标签,我们需要引入第三方实现thymeleaf-extras-shiro。接下来就通过案例说明Thymeleaf整合Shiro标签实现资源的控制。二、Shiro标签的使用【a】引入thym原创 2020-11-21 11:50:59 · 611 阅读 · 0 评论 -
【Shiro第七篇】SpringBoot + Shiro实现会话管理
一、概述Shiro 提供了完整的企业级会话管理功能,不依赖于底层容器(如 web 容器 tomcat),不管 JavaSE 还是 JavaEE 环境都可以使用,提供了会话管理、会话事件监听、会话存储 / 持久化、容器无关的集群、失效 / 过期支持、对 Web 的透明支持、SSO 单点登录的支持等特性,即直接使用 Shiro 的会话管理可以直接替换如 Web 容器的会话管理。二、重要概念会话所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中原创 2020-11-21 10:45:19 · 1373 阅读 · 0 评论 -
【Shiro第六篇】SpringBoot + Shiro集成缓存功能
一、概述Shiro 提供了类似于 Spring 的 Cache 抽象,即 Shiro 本身不实现 Cache,但是对 Cache 进行了又抽象,方便更换不同的底层 Cache 实现。Shiro 提供的 Cache 接口:public interface Cache<K, V> { //根据Key获取缓存中的值 public V get(K key) throws CacheException; //往缓存中放入key-value,返回缓存中之前的值原创 2020-11-20 21:31:05 · 1058 阅读 · 0 评论 -
【Shiro第五篇】SpringBoot + Shiro实现用户授权功能
一、概述在前面一篇文章:SpringBoot + Shiro实现用户身份认证功能中,我们的自定义Realm继承了AuthenticatingRealm,并实现了doGetAuthenticationInfo()方法完成了用户认证操作,但是AuthenticatingRealm仅仅只是提供了用户认证的功能,在实际工作中,一般不使用AuthenticatingRealm抽象类,通常我们都使用AuthorizingRealm抽象类:public abstract class AuthorizingR原创 2020-11-20 10:12:51 · 867 阅读 · 1 评论 -
【Shiro第四篇】SpringBoot + Shiro实现记住登录状态
一、概述Shiro 提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:首先在登录页面选中 RememberMe 然后登录成功;如果是浏览器登录,一般会把 RememberMe 的 Cookie 写到客户端并保存下来; 关闭浏览器再重新打开;会发现浏览器还是记住你的; 访问一般的网页服务器端还是知道你是谁,且能正常访问; 但是比如我们访问淘宝时,如果要查看我的订单或进行支付时,此时还是需要原创 2020-11-20 09:09:47 · 1274 阅读 · 0 评论 -
【Shiro第三篇】SpringBoot + Shiro实现用户认证(密码加密)
一、概述前面一篇文章我们通过示例详细说明了Shiro如何进行用户身份认证的,但是我们是比对的明文密码,本篇文章将总结一下Shiro的加密功能,实现密文的比对。如果还没有阅读前面一篇Shiro实现用户身份认证的,可以通过下面的链接进行阅读:https://weishihuai.blog.csdn.net/article/details/109779347二、调整Shiro全局配置类【a】Shiro全局配置类中注入HashedCredentialsMatcher密码匹配凭证管理器/**原创 2020-11-19 14:24:33 · 687 阅读 · 0 评论 -
【Shiro第二篇】SpringBoot + Shiro实现用户身份认证功能
一、概述前面一篇文章,我们已经总结了Shiro相关的一些概念以及架构知识,相信小伙伴们对Shiro安全框架都有了一定的认识。本篇文章我们将通过示例详细说明在日常工作中常见的-----用户身份认证功能。什么是身份认证呢,简单理解,就是在应用中谁能证明他就是他本人。一般提供如他们的身份 ID 一些标识信息来表明他就是他本人,如提供身份证,用户名 / 密码来证明。在 shiro 中,用户需要提供principals(身份)和credentials(证明)给 shiro,从而应用能验证用户身份:...原创 2020-11-18 20:04:10 · 706 阅读 · 0 评论 -
【Shiro第一篇】 Shiro权限框架简介
一、Shiro概述Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,如Spring Security等,Shiro 要简单的多。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shir原创 2020-11-18 20:02:43 · 253 阅读 · 0 评论