发布时间:2026/8/22 13:45:39
Shiro框架简单——解析 #Java#后端开发#Shiro1Shiro是什么shiro是一个轻量级java,安全框架轻量级、简单、易上手不依赖 Spring可独立运行提供身份验证授权加密和会话管理等可以集成到任何程序上便于快速开发无默认 CSRF、OAuth2、OIDC需要自己集成。2Shiro核心三大组件Subject(用户)------SecurityManage安全管理器------Realm(数据源/认证授权)下面详细解析一下这三个的作用2.1 Subject用户代表当前用户。Subject 封装了用户的全部信息包含用户ID、账户(userId,username)、完整用户对象菜单权限集合部门id。只要是当前用户相关数据都可以存进Subject的Session中。在一个应用程序中可能有多个 Subject每个 Subject 可以访问应用程序中的资源。用户可以通过 Subject 登录应用程序并执行诸如访问资源、修改个人配置等操作。Shiro 提供了简单易用的方法来管理用户的登录和退出行为。subject一般分为两种数据一是必须存的身份权限认证状态等二是手动存任意数据经常是session存扩展数据。例如下方Subject subject SecurityUtils.getSubject(); Session session subject.getSession(); // 存任意数据 session.setAttribute(key, value);2.2 SecurityManage会话管理器-中央调度器所有功能的调度中心 。包含认证器、授权器、会话管理器、缓存管理器。所有 Subject 的操作登录、判断权限、session、缓存最终全部交给 SecurityManager 执行。Subject.login(token) → 本质调用 SecurityManager.login(subject, token)SecurityManager顶层接口 ↓ AuthenticatorSecurityManager支持认证 ↓ AuthorizerSecurityManager支持认证授权 ↓ CachingSecurityManager支持缓存 ↓ RealmSecurityManager支持Realm ↓ DefaultSecurityManager默认完整实现 ↓ WebSecurityManagerWeb环境实现核心功能是所有安全操作最终都由 SecurityManager 统一调度• 登录 → 交给 Authenticator• 权限 → 交给 Authorizer• 会话 → 交给 SessionManager• 数据 → 交给 Realm• 优化 → 交给 CacheManager登录流程1. Subject.login(token) --- 2. 委托给 SecurityManager.login(subject, token)--- 3. 调用 Authenticator.authenticate(token) ---4. 遍历所有 Realm--- 5. 执行 realm.doGetAuthenticationInfo()--- 6. 比对密码CredentialsMatcher----- 7. 生成 Subject 上下文 -----8. 保存到 Session权限认证1. Subject.isPermitted() ---2. 委托给 SecurityManager---- 3. 调用 Authorizer----- 4. 调用 realm.doGetAuthorizationInfo()----- 5. 匹配权限 -----6. 返回 true/falseSecurityManage最核心是全局只有一个类似配置中心所有的Subject都是通过SecurityManage来通过真正的安全入口。2.3 Realm数据源Shiro和数据源的通道。实现两个方法1. doGetAuthenticationInfo()认证登录2. doGetAuthorizationInfo()授权权限Subject.isPermitted() → Authorizer → Realm 查询权限 → 匹配

相关新闻

2026/8/22 13:45:39

3分钟把游戏画面变回老电视:CRT-Royale 滤镜实用指南

3分钟把游戏画面变回老电视:CRT-Royale 滤镜实用指南 【免费下载链接】crt-royale-reshade A port of crt-royale from libretro to ReShade 项目地址: https://gitcode.com/gh_mirrors/cr/crt-royale-reshade CRT-Royale 滤镜是一套基于 ReShade 的 CRT 复古…

2026/8/22 13:45:39

手把手教你搭建 go frame 2.x版本微服务

Go Frame介绍 GoFrame 是一款模块化、高性能的Go 语言开发框架。无论是组件库、单体服务、微服务都可以使用GoFrame来编写;GoFrame 提供开箱即用、丰富强大的基础组件库; 可根据代码结构自动生成清晰、规范的接口文档,节省人工编写时间&#…

2026/8/22 13:40:39

WebToEpub 完整指南:快速把网页小说转成 EPUB 离线阅读

WebToEpub 完整指南:快速把网页小说转成 EPUB 离线阅读 【免费下载链接】WebToEpub A simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB. 项目地址: https://gitcode.com/gh_mirrors/we/WebToEpub 你是不…

2026/8/21 13:13:49

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 20:14:07

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/21 15:40:01

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/21 15:40:01

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/22 1:39:53

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…