S
DeepChat计算机网路教学系统:协议分析与故障排查模拟
首页
速度
优化工具
☰
首页
速度
收录
工具
首页
/
速度优化
/
Java Web 医院药品管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
网站优化
cv_unet_image-colorization效果评测:强光、逆光、阴天场景稳定性测试
Android Studio 毕业设计实战指南:从项目搭建到性能优化的完整技术路径
2026-06-08 14:21:24
阅读时长:8分钟
562次阅读
核心内容摘要
Qwen3-Reranker步骤详解:自定义Document元数据字段参与排序逻辑
核心四大功能核心核心认证Authentication验证用户身份如账号密码登录确认 你是谁授权Authorization验证用户权限如判断是否能访问某接口 / 操作某资源确认 你能做什么基于角色 / 权限粒度控制会话管理Session Management为任意应用非仅 Web提供统一会话管理支持会话过期、持久化等加密Cryptography内置对称 / 非对称加密算法如 MD
SHA、AES简化密码加密、数据脱敏等操作无需手动实现加密逻辑。
核心组件核心架构记住执行流程核心组件遵循Subject→SecurityManager→Realm三层核心流程其余组件为辅助Subject当前操作用户可为人 / 程序所有安全操作都通过 Subject 入口如subject.login()/subject.hasRole()SecurityManagerShiro 核心管理器统筹所有安全操作Subject 所有请求最终都委托给它处理是框架的 大脑RealmShiro 数据来源核心负责获取用户信息认证、获取用户权限 / 角色授权需自定义实现对接数据库 / 缓存 / 配置文件是 Shiro 与业务系统的桥梁辅助组件Authenticator认证器由 SecurityManager 管理负责执行具体认证逻辑Authorizer授权器由 SecurityManager 管理负责执行具体授权逻辑SessionManager会话管理器统一管理 Subject 会话CacheManager缓存管理器缓存用户信息 / 权限 / 角色提升认证授权效率必配减少数据库查询。
核心执行流程一句话记住用户操作 Subject → Subject 委托给 SecurityManager → SecurityManager 调用 Realm 获取数据 → 完成认证 / 授权 / 会话等操作
核心使用步骤实战落地通用流程引入依赖Maven/Gradle 引入 shiro-core核心、shiro-webWeb 项目、shiro-springSpring/SpringBoot 集成自定义 Realm继承AuthorizingRealm重写 2 个核心方法doGetAuthenticationInfo认证方法查询用户账号密码返回给 Shiro 做密码校验doGetAuthorizationInfo授权方法查询用户拥有的角色如 admin和权限如 user:add返回给 Shiro 做权限判断配置 Shiro 核心 BeanSpringBoot 为例配置SecurityManager注入自定义 Realm、CacheManager配置ShiroFilterFactoryBean设置过滤规则如哪些接口匿名访问、哪些需要认证 / 角色 / 权限业务代码调用认证Subject subject SecurityUtils.getSubject(); subject.login(new UsernamePasswordToken(账号, 密码));授权subject.hasRole(admin)判断角色、subject.isPermitted(user:add)判断权限退出subject.logout()。
Web 项目核心过滤规则常用必记通过ShiroFilterFactoryBean配置 URL 过滤规则核心过滤器anon匿名访问无需登录如登录页、静态资源authc必须认证登录才能访问roles[admin]必须拥有指定角色才能访问perms[user:add]必须拥有指定权限才能访问logout退出登录配置后访问该 URL 自动执行 logout。
核心注解SpringBoot 项目常用简化授权需开启 Shiro 注解支持在 Controller / 方法上标注实现权限控制RequiresAuthentication必须认证才能访问RequiresRoles(admin)必须拥有指定角色RequiresPermissions(user:add)必须拥有指定权限RequiresGuest仅匿名用户可访问。
生产关键配置避坑 优化密码加密使用HashedCredentialsMatcher配置加密算法如 MD5 盐值salt 散列次数避免明文存储密码缓存集成整合 Redis/Ehcache 作为 CacheManager缓存用户权限 / 角色避免每次请求都查数据库会话配置设置会话过期时间、会话持久化分布式项目避免单点会话丢失异常处理捕获 Shiro 认证 / 授权异常如UnauthorizedException未授权统一返回前端提示分布式支持整合 Redis 实现分布式会话 分布式缓存解决多服务节点权限共享问题。
核心面试 / 实战考点自定义 Realm 的两个核心方法实现认证 授权密码加密的实现盐值 散列避免彩虹表破解Shiro 与 SpringBoot 的整合配置核心 BeanURL 过滤规则与注解的结合使用分布式项目中 Shiro 的会话和缓存共享方案Redis认证 / 授权异常的统一处理。
王多鱼韩婧格博雅谁演的在线观看-王多鱼韩婧格博雅谁演的在线观看应用
相关标签
基于SpringBoot+协同过滤推荐的助农平台任务书
小白必看:Ollama部署translategemma-27b-it避坑指南
DeepSeek-OCR-2实战教程:3步完成Python爬虫数据自动识别与提取
浦语灵笔2.5-7B与Unity集成:智能游戏NPC开发指南
动手试了GPEN镜像,人像细节恢复效果超出预期
计算机Java毕业设计新手避坑指南:从选题到部署的完整实战路径
Vue-ECharts 数据缓存终极指南:10个简单技巧优化重复渲染性能
Pi0机器人控制中心实战教程:结合ROS2桥接实现真实机器人动作执行
granite-4.0-h-350m开源模型实操:轻量指令模型的部署、测试与调优
中兴F7010C光猫IPv6配置避坑指南:从SLAAC到OpenWrt路由设置
如何突破网络限制实现教育公平?Kolibri带来变革性离线学习解决方案
AutoGen Studio部署案例:Qwen3-4B-Instruct-2507支持异步任务队列的长周期Agent设计
一篇搞定全流程,AI论文平台 千笔·专业学术智能体 VS 笔捷Ai,本科生专属首选!
编辑器AI模型与自然语言处理学习
🔍
📑
文章目录
二、低成本部署方案:RTX3090运行GLM-4-9B-Chat-1M的vLLM优化技巧
三、Joy-Con Toolkit:开源手柄性能优化全方案
四、使用状态机模块化封装
五、隧道爆破超欠挖预测模型及爆破参数优化方法研究
🔥
热门优化文章
UI-TARS-desktop场景应用:自动整理文件、智能搜索,解放你的双手
2026-05-16 23:19:13
上下文图谱架构演进教程(非常详细),大模型知识图谱新变革!
2026-05-16 23:19:13
🛠️
实用工具推荐
白桃少女与芋圆洛丽塔的成就:一场味蕾与视觉的盛宴
gb14may18XXXXXL56E:不仅仅是一个代号,更是一段关于探索与发现的奇幻旅程
相关优化文章 推荐
雷神入夜狂飙图片高清壁纸
2026-06-08 14:21:24 3分钟阅读
拥抱曲线的魅力:重新定义“丰满胖乎乎BBW”的美学与自信
2026-06-08 14:21:24 3分钟阅读
探索数字中国新篇章:httpcn.91.gov.cn,连接你我,赋能未来
2026-06-08 14:21:24 6分钟阅读
↑
百度百家号客服电话人工服务
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3