Shiro-11-web 介绍

配置

将Shiro集成到任何web应用程序的最简单方法是在web.xml中配置一个Servlet ContextListener和过滤器,该Servlet了解如何读取Shiro的INI配置。

INI配置格式本身的大部分是在配置页面的INI部分中定义的,但是我们将在这里介绍一些额外的特定于web的部分。

  • 使用 Spring?

Spring Framework用户不会执行这个设置。如果您使用Spring,那么您将希望阅读有关Spring特定的web配置的内容。

web.xml

Shiro 1.2及以后版本

在Shiro 1.2及以后版本中,标准的web应用程序通过向 web.xml 中添加以下XML块来初始化Shiro:

<listener><listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener><filter><filter-name>ShiroFilter</filter-name><filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter><filter-mapping><filter-name>ShiroFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher><dispatcher>INCLUDE</dispatcher><dispatcher>ERROR</dispatcher>
</filter-mapping>

这假设Shiro INI配置文件位于以下两个位置之一,使用先找到的位置:

  1. /WEB-INF/shiro.ini

  2. shiro.ini 文件位于类路径的根。

配置流程

下面是上面的配置做的事情:

EnvironmentLoaderListener初始化一个Shiro WebEnvironment实例(包含Shiro需要操作的所有内容,包括SecurityManager),并使其在ServletContext中可访问。如果您需要在任何时候获得这个WebEnvironment实例,您可以调用 WebUtils.getRequiredWebEnvironment(servletContext)。

ShiroFilter将使用这个web环境为任何过滤的请求执行所有必要的安全操作。

最后,过滤器映射定义确保所有请求都通过ShiroFilter进行过滤,大多数web应用程序都推荐使用ShiroFilter,以确保任何请求都是安全的。

默认配置

  • ShiroFilter filter-mapping

通常我们希望在任何其他“filter-mapping”声明之前定义“ShiroFilter filter-mapping”,以确保Shiro也能在这些过滤器中发挥作用。

  • ShiroFilter默认编码

shiro过滤器是一个标准的servlet过滤器,根据servlet规范,默认编码为ISO-8859-1。

但是,客户机可以选择使用Content-Type头的charset属性发送具有不同编码的身份验证数据。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍如何解决msvcr120.dll丢失问题,msvcp120.dll常见问题的解答

msvcr120.dll是Windows操作系统中的一个重要的动态链接库文件&#xff0c;它包含了许多与C运行库相关的函数。然而&#xff0c;有时用户在运行某些应用程序或游戏时可能会收到"msvcr120.dll丢失"的错误提示。本文将介绍如何解决msvcr120.dll丢失问题&#xff0c;并提…

【c语言】c语言转义字符详解

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;c语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&…

prometheus基于consul的服务发现

文章目录 一、基础二、安装consul下载地址启动consul访问consul 三、编写服务发现文件nodes.json四、prometheus配置consul发现修改prometheus.yml重启Prometheus 参考 一、基础 二、安装consul 下载地址 https://developer.hashicorp.com/consul/install 启动consul mkdi…

HCIP-MGRE实验配置、PPP的PAP认证与CHAP认证、MGRE、GRE网络搭建、NAT

实验要求 R5为ISP,只能进行IP地址配素&#xff0c;其所有地址均为公有IP地址R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方 R2与R5之间使用PPP的chap认证&#xff0c;R5为主认证方 R3与R5之间使用HDLC封装。R1/R2/R3构建一个MGRE环境&#xff0c;R1为中心站点;R1、R4间为…

Android 13.0 SystemUI下拉状态栏定制二 锁屏页面横竖屏通知栏都居中功能实现

1.前言 在13.0的系统rom定制化开发中,在关于systemui的锁屏页面功能定制中,由于在平板横屏通知栏功能中,通知栏总是显示在右边,并且是在右边居中显示的, 由于需要和竖屏显示一样,所以就需要用到在时钟下面显示通知栏,然后同样需要居中显示通知栏,所以就来分析下相关的…

前端vue金额用逗号分隔

实现效果 代码 template部分 <el-input v-model"state.val"></el-input><div>{{ priceFor(state.val) }}</div> js部分 const state reactive({ val: });const priceFor (val)> {if(!val){return }else if(val.length<4){return…

Z分数标准化

Z分数标准化是一种常用的数据标准化方法&#xff0c;用于将不同数据集的值转换为具有相同比例和零均值、标准差为1的标准正态分布。这种标准化方法对于机器学习和统计分析中的特征缩放和数据预处理非常有用。 标准化的步骤如下&#xff1a; 计算均值和标准差&#xff1a; 对于…

进程链信任-父进程欺骗

文章目录 前记普通权限的父进程欺骗ShllCode上线进程提权基础进程提权注入 前记 父进程欺骗作用&#xff1a; 进程链信任免杀进程提权 检测&#xff1a; etw 普通权限的父进程欺骗 #include<stdio.h> #include<windows.h> #include <TlHelp32.h>DWORD …

elementui 中el-date-picker 选择年后输出的是Wed Jan 01 2025 00:00:00 GMT+0800 (中国标准时间)

文章目录 问题分析 问题 在使用 el-date-picker 做只选择年份的控制器时&#xff0c;出现如下问题&#xff1a;el-date-picker选择年后输出的是Wed Jan 01 2025 00:00:00 GMT0800 (中国标准时间)&#xff0c;输出了两次如下 分析 在 el-date-picker 中&#xff0c;我们使用…

【51单片机】如何设置中断函数(场景:在定时器工作完跳转到中断程序时,怎么识别我们的中断程序在哪里呢?)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 本章是【利用定时器和中断实现一个简单项目】中的一部分&#xff0c;感兴趣的老铁可以跳转传送门查看传送门 欢迎订阅 YY滴C专栏&#xff01;更多干货…

CI/CD部署

什么是CI&#xff0c;什么是CD CI和CD是软件开发中持续集成和持续交付的缩写。 CI代表持续集成&#xff08;Continuous Integration&#xff09;&#xff0c;是一种实践&#xff0c;旨在通过自动化构建、测试和代码静态分析等过程&#xff0c;频繁地将代码变更合并到共享存储…

前端技巧之svg精灵图svg-sprite-loader

首先说明精灵图的必要性&#xff0c;其可以让我们只需要向服务器请求一次图片资源&#xff0c;就能加载很多图片&#xff0c;即能够减轻http请求造成的服务器压力。 然后这里要说明的是这个插件是webpack上面的&#xff0c;所以在vue2中比较好用&#xff0c;如果在vue3中&…

3DSC特征描述符、对应关系可视化以及ICP配准

一、3DSC特征描述符可视化 C #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/search/kdtree.h> #include <pcl/io/pcd_io.h> #include <pcl/features/normal_3d_omp.h>//使用OMP需要添加的头文件 #include <pcl…

ubuntu制作windows的u盘启动盘

概要&#xff1a; 本篇演示在ubuntu22.04中制作windows10的u盘启动盘 一、下载woeusb 1、下载woeusb 在浏览器中输入https://github.com/woeusb/woeusb/releases访问woeusb 点击红色矩形圈出来的部分&#xff0c;下载woeusb 2、安装wimtools wimtools是woeusb的一个必须的…

windows@按流量计费网络设置@电脑风扇降噪的可能方法

文章目录 按流量计费网络设置流量计费模式下的好处电脑风扇在连结wifi时更容易噪音问题限制软件和系统自动更新行为例:edge不再自动更新 按流量计费网络设置 windows metered connection:Metered connections in Windows - Microsoft Support 打开所连接的网络进行设置,开启me…

项目开发日志(登录界面):2. LoginTitle组件

LoginTitle组件 样式 说明 属性 属性名含义类型是否必填默认值welcomeTitle欢迎标语String是无mainTitle标题String是无 样式 mainColor -> 主题颜色 代码 <template><div class"logintitle-container"><p class"subtitle">{{ welc…

21-k8s中pod的调度-污点和污点容忍

一、污点的概念 所谓的污点&#xff0c;就是给k8s集群中的节点设置的污点&#xff0c;通过设置污点&#xff0c;来规划资源创建时所在的节点&#xff1b; 污点的类型解释说明PreferNoshedule 节点设置这个五点类型后&#xff1b; 表示&#xff0c;该节点接受调度&#xff0c;但…

人工智能技术应用笔记(二):OpenAI SORA文生视频模型技术报告全文中英对照 (GPT4翻译+人工润色)

目录 Video generation models as world simulators&#xff08;视频生成模型作为世界模拟器&#xff09; Turning visual data into patches &#xff08;将视觉数据转换为图像块&#xff09; Video compression network &#xff08;视频压缩网络&#xff09; Spacetim…

PyCharm - Script parameters (脚本参数)

PyCharm - Script parameters [脚本参数] References Run -> Edit Configurations… -> Run/Debug Configurations -> Configuration -> Script parameters 命令行&#xff1a; python display_yolo_log.py ./person_training_log/person_train_log_DIMM40_stdout…

【动态规划】【C++算法】2742. 给墙壁刷油漆

作者推荐 【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字 本文涉及知识点 动态规划汇总 LeetCode2742. 给墙壁刷油漆 给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time &#xff0c;分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有…