shiro 使用bean来配置权限信息
在此之前可以先修改之前的权限配置。之前在applicationContext.xml中权限配置是bean idshiroFilter classorg.apache.shiro.spring.web.ShiroFilterFactoryBean property namesecurityManager refsecurityManager/ property nameloginUrl value/login.jsp/ property namesuccessUrl value/list.jsp/ property nameunauthorizedUrl value/unauthorized.jsp/ /property !-- 配置哪些页面需要受保护. 以及访问这些页面需要的权限. 1). anon 可以被匿名访问 2). authc 必须认证(即登录)后才可能访问的页面. 3). logout 登出. 4). roles 角色过滤器 -- property namefilterChainDefinitions value /login.jsp anon /shiro/login anon /shiro/logout logout /user.jsp roles[user] /admin.jsp roles[admin] !--# everything else requires authentication:-- /** authc /value /property /bean可是如果这样的话如果要从数据库中拿到权限配置信息的话就比较麻烦现在我们可以建立一个bean里面为map来配置方便从数据库中拿到权限配置信息:1.先建立一个factory的包里面写入filterChainDefinitionMapBuilder.java:package com.atguigu.shiro.factory; import java.util.LinkedHashMap; //有的时候需要从数据库中拿到权限信息则要采用这种方式。 public class filterChainDefinitionMapBuilder { //采用这种方式方便从数据库中拿取权限信息 public LinkedHashMapString,String buildFilterChainDefinitionMap(){ LinkedHashMapString, String map new LinkedHashMap(); map.put(/login.jsp,anon); map.put(/shiro/login,anon); map.put(/shiro/logout,logout); map.put(/user.jsp,authc,roles[user]);//如果通过认证且角色为user map.put(/admin.jsp,authc,roles[admin]);//如果通过认证且角色为admin map.put(/list.jsp,user); map.put(/**,authc); return map; } }注意这是LinkedHashMap是有顺序的。2.修改applicationContext.xml配置文件bean idshiroFilter classorg.apache.shiro.spring.web.ShiroFilterFactoryBean property namesecurityManager refsecurityManager/ property nameloginUrl value/login.jsp/ property namesuccessUrl value/list.jsp/ property nameunauthorizedUrl value/unauthorized.jsp/ !--要从数据库里拿到权限信息就要采取下面的配置-- property namefilterChainDefinitionMap reffilterChainDefinitionMap/property !-- 配置哪些页面需要受保护. 以及访问这些页面需要的权限. 1). anon 可以被匿名访问 2). authc 必须认证(即登录)后才可能访问的页面. 3). logout 登出. 4). roles 角色过滤器 -- !--property namefilterChainDefinitions-- !--value-- !--/login.jsp anon-- !--/shiro/login anon-- !--/shiro/logout logout-- !--/user.jsp roles[user]-- !--/admin.jsp roles[admin]-- !--# everything else requires authentication:-- !--/** authc-- !--/value-- !--/property-- /bean !--要从数据库里拿到权限信息就要采取下面的配置-- !--需要配置一个bean该bean实际上是一个map通过实例化工厂的方式-- bean idfilterChainDefinitionMap factory-beanfilterChainDefinitionMapBuilder factory-methodbuildFilterChainDefinitionMap/bean bean idfilterChainDefinitionMapBuilder classcom.atguigu.shiro.factory.filterChainDefinitionMapBuilder/bean bean idshiroService classcom.atguigu.shiro.service.ShiroService/bean这样就可以完成配置了使用效果和之前的一样。

相关新闻

强化学习入门:蒙特卡洛与时序差分算法原理对比与应用选择

强化学习入门:蒙特卡洛与时序差分算法原理对比与应用选择

上周和一位做生物信息分析的朋友聊天,他提到一个很有意思的困境:手头有一堆蛋白质相互作用的预测任务,每个任务都像是一次“实验”——输入序列,模型给出一个相互作用的概率分数。他尝试用一些预训练模型,但效果时好时…

2026/7/28 17:02:44 阅读更多 →
北京搬家全攻略:时间规划与专业打包技巧

北京搬家全攻略:时间规划与专业打包技巧

1. 搬家前的战略规划:时间线与优先级管理在北京这种超一线城市搬家,提前规划的重要性怎么强调都不为过。根据我过去五年协助客户完成87次跨区搬家的经验,建议至少提前45天启动准备工作。这个时间窗口不是随意定的——北京热门小区的退租检查平…

2026/7/28 17:01:44 阅读更多 →
瑞芯微RV1126B开发板(EASY-EAI-PI2) 安装桌面系统

瑞芯微RV1126B开发板(EASY-EAI-PI2) 安装桌面系统

1. 概要 EASY-EAI-PI2固件默认不自带桌面系统。有需要桌面系统的用户可自行安装。 2. 安装步骤 2.1 环境准备 通过串口调试进入板卡后台,并且确保板卡可以联网(接入互联网)。 执行下方命令,安装xfce、lightdm等桌面系统所需软…

2026/7/28 17:01:44 阅读更多 →

最新新闻

SUSFS4KSU模块:如何在Android上实现完美Root隐藏的终极指南

SUSFS4KSU模块:如何在Android上实现完美Root隐藏的终极指南

SUSFS4KSU模块:如何在Android上实现完美Root隐藏的终极指南 【免费下载链接】susfs4ksu-module An addon root hiding service for KernelSU 项目地址: https://gitcode.com/gh_mirrors/su/susfs4ksu-module 你是否曾经因为手机Root后无法使用银行应用或游戏…

2026/7/28 17:11:47 阅读更多 →
3分钟快速上手:高效实用的Windows麦克风静音软件完整指南

3分钟快速上手:高效实用的Windows麦克风静音软件完整指南

3分钟快速上手:高效实用的Windows麦克风静音软件完整指南 【免费下载链接】MicMute Mute default mic clicking tray icon or shortcut 项目地址: https://gitcode.com/gh_mirrors/mi/MicMute 在远程会议、在线教学和语音交流日益频繁的今天,你是…

2026/7/28 17:11:47 阅读更多 →
2026年降AI率工具测评与选型指南

2026年降AI率工具测评与选型指南

1. 为什么我们需要关注降AI率工具? 2026年,AIGC(人工智能生成内容)已经渗透到我们数字生活的每个角落。从自动生成的营销文案到AI辅助的学术论文,从一键生成的短视频脚本到智能编程助手,这些工具在提升效率…

2026/7/28 17:11:46 阅读更多 →
五大神经网络架构核心原理与PyTorch实战:从CNN到Transformer

五大神经网络架构核心原理与PyTorch实战:从CNN到Transformer

如果你刚接触深度学习,面对 CNN、RNN、GAN、Transformer 这些名词,是不是感觉像在听天书?为什么一个叫“神经网络”的东西,既能看懂图片,又能生成文本,甚至还能创作音乐?它背后到底有什么魔力,能“学习”几乎任何东西? 很多人以为神经网络是某种神秘的黑盒,或者认为…

2026/7/28 17:11:46 阅读更多 →
关于Apache的httpd命令详解

关于Apache的httpd命令详解

httpd.exe为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。本文以Apache2.2.21版本为例详细介绍该指令的各个参数及用法。 语法格式: httpd [-D name] [-d directory] [-f file][-C "directive"] [-c "directive"][-w] [-k start|re…

2026/7/28 17:11:46 阅读更多 →
企业级AI内容风控最后一道防线:如何在不降低生成质量前提下,强制注入可验证水印(已通过等保三级审计)

企业级AI内容风控最后一道防线:如何在不降低生成质量前提下,强制注入可验证水印(已通过等保三级审计)

更多请点击: https://kaifayun.com 第一章:企业级AI内容风控最后一道防线:如何在不降低生成质量前提下,强制注入可验证水印(已通过等保三级审计) 在生成式AI大规模落地的今天,内容溯源与责任认…

2026/7/28 17:10:46 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻