摘要: 一、什么是单例模式 类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类提供一个取得其对象实例的方法(静态方法)。 二、单例模式的实现方式 1) 饿汉式(静态常量) 2) 饿汉式(静态代码块) 3)懒汉式(线程不安全) 4)懒汉式(线程安全,同步方法) 阅读全文
posted @ 2021-03-04 16:02 跑调大叔! 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在Shiro【项目实战】中有总结过 Shiro 的基本的配置,本文则总结通过整合 Redis 实现缓存和会话存储。 三、整合 Redis 实现缓存 (一)为什么要使用整合 Redis 因为在授权的时候,每执行一次操作都要重新去数据库查询相关权限,而权限几乎不会修改, 所以,针对这种修改少但 阅读全文
posted @ 2021-03-04 15:57 跑调大叔! 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在前面的几篇文章中已经总结了 Shiro的一些概念等理论知识,所以本文开始实战。 二、项目背景 由于主要注重 Shiro 的一些配置,所以搭建项目环境、创建数据库表、编写domain、dao、service、controller等代码就省略了,有需要的小伙伴可在文末进行下载。 (一)技术选 阅读全文
posted @ 2021-03-04 15:56 跑调大叔! 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在实际开发中,默认的配置往往不满足业务需求,所以就需要进行一些自定义。 二、自定义 Filter (一)为什么要自定义 在 ShiroConfig 配置类中我们有配置指定角色才能访问的路径,如: filterChainDefinitionMap.put("/admin/**", "role 阅读全文
posted @ 2021-03-04 15:51 跑调大叔! 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在 Shiro【自定义Realm实战】中,已经总结了自定义 Realm 的实现,但在实际开发中,想要使用 Shiro 实现权限控制,除了要知道 Realm 外,本文中总结的其它模块也是不可缺少的。 二、Shiro 中的 Filter (一)内置 Filter 介绍 Shiro 中提供了 1 阅读全文
posted @ 2021-03-04 15:49 跑调大叔! 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 一、前言 虽然 Shiro 给我们提供了很多内置的 Realm,但在企业开发中,这往往不适用于项目中。 所以,都需要自定义 Realm 来使用。 二、步骤 创建一个类 ,继承 AuthorizingRealm ​ (继承关系:自定义Realm->AuthorizingRealm->Authentic 阅读全文
posted @ 2021-03-04 15:44 跑调大叔! 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在 Shiro【初识】中我们已经知道 Realm 主要是用来从数据库中获取用户、角色、资源等数据的。 但 Shiro 还给我们提供了很多 Realm,让我们可以操作其他的数据源,比如配置文件等等。 二、项目环境 本文中的项目使用环境为:JDK8 + Maven 3.6.3 + Spring 阅读全文
posted @ 2021-03-04 15:43 跑调大叔! 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在 Shiro【初识】中,已经总结了 Shiro 相关的概念和其架构图, 那么本文将介绍 Springboot2.x 整合 Apache Shiro ,实现快速体验认证和授权的基本流程。 本文中的项目使用环境为:JDK8 + Maven 3.6.3 + SpringBoot 2.4.1 + 阅读全文
posted @ 2021-03-04 15:41 跑调大叔! 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 一、前言 不管在什么系统中,权限控制都是必不可少的。 不同的阶段我们可能使用不同的方式来实现权限控制: 在 JavaWeb 阶段,我们可能直接通过定义 Filter 的方式来实现; 而当我们学习了那么多的框架之后,更多的是使用已经开发好的权限框架,比如:Shiro、 Spring Security。 阅读全文
posted @ 2021-03-04 15:39 跑调大叔! 阅读(93) 评论(0) 推荐(0) 编辑