shiro二,集成web时url过滤

shiro框架 01.使用shiro框架进行认证拦截(也就是进行url访问时候的拦截) 这里需要配置一个配置类,使用的注解是@Configuration,这表示修饰的类会有多个注解@bean来修饰的方法,而@bean修饰的方法通常用于构造一个对象,并且交给spring容器进行。第三步:在 Shiro 配置类中添加 ShiroFilterFactoryBean 对象的配置。通过此对象设置资源匿名访问、认证访问。在/templates/pages/添加一个 login.html 页面,然后将项目部署到 web 服务器,并启动测试运行。//除了匿名访问的资源,其它都要认证(“authc”)后访问。 阅读详情

话不多说直接上代码:

<!-- 自定义Realm -->
	<bean id="myRealm" class="com.gcc.realm.MyRealm"/>  
	
	<!-- 安全管理器 -->
	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">  
  	  <property name="realm" ref="myRealm"/>  
	</bean>  
	
	<!-- Shiro过滤器 -->
	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">  
	    <!-- Shiro的核心安全接口,这个属性是必须的 -->
	    <property name="securityManager" ref="securityManager"/>
	    <!-- 身份认证失败,则跳转到登录页面的配置 -->  
	    <property name="loginUrl" value="/login.jsp"/> 
	    <!-- Shiro连接约束配置,即过滤链的定义 -->  
	    <property name="filterChainDefinitions">  
	        <value>
				/login=anon
				/admin/**=authc
	        </value>  
	    </property>
	</bean>
这里我们着重介绍最下面配置的过滤链定义filterChainDefinitions(小的英语一般,只能直译)

格式如下:

1:/index.html = anon
2:/user/create = ssl
3:/user/** = authc
4:/admin/** = authc, roles[administrator]
5:/rest/** = authc, rest
6:/remoting/rpc/** = authc, perms["remot:invoke"]

这里做出解释,等号左边是一个与 Web 应用程序上下文根目录相关的 Ant 风格的路径表达式,例如:/account/** = ssl, authc

此行表明,“任何对我应用程序的/accout 或任何它的子路径(/account/foo, account/bar/baz,等等)的请求都将触
发'ssl, authc'过滤器链”。

什么是过滤器链呢,就是等号右边的过滤器列表,用来执行匹配该路径的请求。

这个过滤器可以自定义,也可以用shiro预装的(一般情况预装的足够使用)。

这里举例常用的:

authc-------------org.apache.shiro.web.filter.authc.FormAuthenticationFilter

作用:确保最终用户被认证,如果不是,重定向到anno对应的路径上。如上方格式3

user--------------org.apache.shiro.web.filter.authz.UserFilter

作用:确保最终用户登录过,即通过Readmemberme登录,如果不是,重定向到anno对应的路径上。这里不再赘述认证和登录的区别。

anon--------------org.apache.shiro.web.filter.authc.AnonymousFilter

作用:不用验证可以直接访问指定路径。如上方格式1

perms ------------org.apache.shiro.web.filter.authz.PermissionAuthorizationFilter

作用:有指定权限才能通过验证,再访问指定路径。如上方格式6

roles--------------org.apache.shiro.web.filter.authz.RolesAuthorizationFilter

作用:通过指定的角色的验证,才能访问指定路径。如上方格式4

ssl-----------------org.apache.shiro.web.filter.authz.SslFilter

作用:是安全的url请求,是https协议,才能访问指定路径。如上方格式2

小的功成身退,感谢各位同志看完

Spring与Shiro集成:动态URL权限控制详解 Apache Shiro是一个全面的安全框架,为应用程序提供了认证、授权、会话管理以及加密等核心功能。它采用Java编写,能够运行在任何遵循Java规范的环境中,如Java SE和Java EE。Shiro的设计哲学是简单易用,功能强大,并且能够轻松地与现有系统集成。Shiro的核心组件包括Subject、SecurityManager和Realm,它们共同协作,为应用提供安全认证和权限管理。通过使用Shiro,开发者可以将安全控制逻辑从核心业务逻辑中分离出来,使得系统更加清晰、易于维护。 阅读详情

相关推荐

别再瞎调参数了!用MATLAB fmincon优化傅里叶级数,为你的机器人设计“完美”激励轨迹

本文详细介绍了如何利用MATLAB的fmincon优化器设计机器人激励轨迹,通过优化傅里叶级数参数,解决传统试错法的低效问题。文章涵盖了目标函数设计、约束条件转化及优化算法选择,帮助工程师实现高精度的系统辨识和动力学参数优化。

weixin_42613501的博客 240

Shiro解除拦截路径无效

Shiro解除拦截路径无效 写了一个接口,在shiroConfig中配置了aoon解除url拦截但是还是被拦截到了,也没仔细看,经人提醒忽然看到上面配置了 map.put("/**", "authc"); 然后下面又配置了接口解除拦截, map.put("/student/save","anon"); map.put("/student/update","anon"); map.put("/student/delete","anon

隐心咒Amor的博客 1377

从零搭建ROS机械臂仿真环境:Ubuntu 20.04+Noetic下配置睿尔曼RM65的完整流程

本文详细介绍了在Ubuntu 20.04系统中,基于ROS Noetic搭建睿尔曼RM65机械臂的完整仿真环境。从环境准备、工作空间创建到MoveIt!配置与Gazebo仿真环境集成,提供了完整的流程和优化建议,帮助开发者高效实现机械臂仿真与调试。

v6b7n8m9q0的博客 933

springboot整合shiro之——拦截路径

身份认证、授权、加密、会话管理Web支持、缓存、多线程、测试、允许一个用户假装为另一个用户的身份进行访问、记住我。

qq_58341172的博客 1027

用ST25DV芯片+KiCad快速设计NFC标签天线:参数计算/脚本生成/实测优化全流程

本文详细介绍了使用ST25DV芯片和KiCad工具设计NFC标签天线的全流程,包括参数计算、脚本生成和实测优化。通过解析芯片等效工作原理和设计思路,帮助开发者避开常见陷阱,实现高效、可量产的天线设计。文章还提供了Python计算工具和KiCad自动化脚本,大幅提升设计效率和成功率。

jj890的博客 758

智能客服系统知识库构建:长尾问题解决方案全解析

智能客服系统知识库构建:长尾问题解决方案全解析

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 4112

Shiro 过滤链的验证方式有哪些?

Shiro 过滤链的验证方式有哪些?

weixin_66108142的博客 169

学习C++的递归函数(包含汉诺塔讲解)

简单来讲,递归函数就是函数本身自己调用自己,那么函数又是什么呢?#include <stdio.h> //这行是头文件,不同的头文件可以用不同的函数int main() //这里就是一个main函数//这里是你要编写程序的内容return 0;(这是个小细节如下)所以我们平时用来练习的就是一个main函数,而且是一个整型类型的函数,而这也是最后一句话为什么要加一句 return 0;了,因为它最后要返回整数类型,其它整数也可以,但是大家规定为0,这是C++自带的函数。

2302_81032013的博客 2594

shiro框架如何设置不过滤指定url

不过滤指定url意思就是遇到指定的url直接放行,不跳转到登录页面,比如通过调某一个方法检测服务是否正常就需用用到该配置。 配置方式也比较简单,shiro.xml中添加相应的配置即可 比如遇到path为“/e74050c07f7d315d3ffc73df398ff9c5”的请求直接放行,可以如下配置: <!-- Shiro Filter --> <bean id="sh...

u012131610的博客 1万+

SoapUI 5.0 模拟WebService接口实战:从WSDL文件到Mock服务端完整流程

本文详细介绍了如何使用SoapUI 5.0模拟WebService接口,从解析WSDL文件到搭建完整的Mock服务端流程。通过实战案例和效率技巧,帮助开发者快速掌握接口模拟技术,提升开发与测试效率。

weixin_26833139的博客 407

【Bug已解决】Request timed out / API Timeout — Claude Code 请求超时解决方案

方案适用场景推荐指数难度方案一:增加超时大任务处理⭐⭐⭐⭐⭐低方案二:切换 SonnetOpus 太慢⭐⭐⭐⭐⭐低方案三:缩小范围大代码库⭐⭐⭐⭐⭐低方案四:优化网络网络延迟高⭐⭐⭐⭐中方案五:减少 MCPMCP 超时⭐⭐⭐中方案六:流式响应长生成任务⭐⭐⭐低根本原因:请求超时最常见原因是请求体过大(35%)和 Opus 模型推理慢(25%),默认 60 秒超时阈值对大型任务不够最佳实践。

一键难忘的博客 5162

springboot集成shiro时循环重定向的问题

问题说明 springboot集成shiro后,过滤器配置为/**时,接口循环重定向 配置 @Bean public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") DefaultWebSecurityManager securityManager) { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFa

1851

详解FreeRTOS:事件标志组(高级篇—5)

事件组可以实现一对多,多对多的同步,即一个任务可以等待多个事件的发生。任务可以通过设置事件位来实现事件的触发和等待操作,FreeRTOS的事件仅用于同步,不提供数据传输功能。

不脱发的程序猿 1075

关于shiro的URL Path Expressions[url]配置

最近进行了spring整合shiro的工作,这里记录下shiro的URL Path Expressions使用的解释: /account/** = ssl, authc 此行表明,“任何对我应用程序的/accout 或任何它的子路径(/account/foo, account/bar/baz,等等)的请求都将触 发'ssl, authc'过滤器链”。我们将在下面讨论过滤器链。

技术笔记博客 5259

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Shiro学习(二):Web中整合Shiro

DelegatingFilterProxy 是 Spring Framework 提供的一个特殊的 Filter 实现类,用于将 Filter 的。目标 Filter Bean 名称,指定要委托的 Spring 容器中的 Filter Bean 的名称,如果不设。DelegatingFilterProxy 默认使用Filter 名称作为目标Bean 的名称,如Shiro与Web 整合时,可以使用Shiro自带的Relam,若自定义Relam,请参考上一篇中的CustRelam,这里不。

liang8999的博客 1312

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

shiro在前端显示名字_Shiro学习之——Shiro与Web集成

Shiro与Web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。Web项目集成Shiro步骤:1:导入相关依赖jar包, 多出一个shiro-web jar包2:在web.xml文件中配置shi...

weixin_36463040的博客 254

spring boot整合shiro之shiro过滤器介绍

过滤器链条配置说明 1、一个URL可以配置多个Filter,使用逗号分隔 2、当设置多个过滤器时,全部验证通过,才视为通过 3、部分过滤器可指定参数,如perms,roles Shiro内置的FilterChain anon(org.apache.shiro.web.filter.authc.AnonymousFilter):例子/admins/**=anon 没有参数,表示可以匿...

无名剑 1万+

Shiro在Web集成设置与默认过滤器解析(六)

Shiro与Web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。 1)创建一个web的Maven项目 2)导入Shrio相关依赖: <dependencies> ...

qq_37431224的博客 433

shiro web 集成

集成方法   shiro与web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于SpringMVC的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。 集成步骤   1、导入相关jar包  2、web.xml配置ShiroFilter以拦截请求  3、配置shiro.int文...

atu99602的博客 119

Shiro的Web过滤器

&lt;!-- Shiro的Web过滤器 --&gt; &lt;bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"&gt; &lt;property name="securityManager" ref="securityManager"/&gt; &am

berry sky 707

Shiro集成Web

Shiro不仅可以集成到web中,也可以集成Spring。 1、在WEB中添加Shrio支持 2、WEB中INI配置 3、JSP/GSP标签 在WEB中添加Shrio支持 如果要想在web中使用Shrio,需要在web.xml文件中添加一个监听器和过滤器。 <listener> <listener-class>org.apache.sh...

dengjuyan2649的博客 126

Apache Shiro 安全框架(4)-与web集成

单位

一点点的积累 728

Shiro - 理解 Shiro 中过滤器链的执行顺序与配置技巧

Shiro - 理解 Shiro 中过滤器链的执行顺序与配置技巧 摘要 Apache Shiro 的过滤器链是实现 Web 应用安全控制的核心机制,其执行顺序直接影响安全策略的有效性。本文深入解析了 Shiro 过滤器链的关键特性: 过滤器类型:详细介绍了 authc、user、anon 等内置过滤器的区别和使用场景 配置方式:对比了 INI 配置与 Spring Boot 中的 Java 配置方法 执行顺序原则: 认证必须优先于授权(先 authc 后 roles/perms) URL 模式采用最长前缀匹

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

springboot过滤器排除掉一些url_理解这9大内置过滤器,才算是精通Shiro

小Hub领读:权限框架一般都是一堆过滤器、拦截器的组合运用,在shiro中,有多少个内置的过滤器你知道吗?在哪些场景用那些过滤器,这篇文章希望你能对shiro有个新的认识!别忘了,点个 [在看] 支持一下哈~前两篇原创shiro相关文章:1、极简入门,Shiro的认证与授权流程解析2、只需要6个步骤,springboot集成shiro,并完成登录我们都知道shiro是个认证权限框架,除了登录、退出...

weixin_39794340的博客 1338

shiro之过滤链

当我们的shiro交给spring管理后,我们可以在web.xml中定义过滤,但是这样的过滤显得粗粒化了,因为只是给了一个/*: <filter-mapping> <filter-name>shiroFilter</filter-name> <url-pattern>/*</url-pattern> </fi...

大鱼的博客 1597
上一篇: springMvc文件下载以及遇到的问题
下一篇: liunx学习经历一
gcc_front
博客等级 码龄9年 16粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值