shiro与spring整合中shiroFilter配置参数loginUrl及unauthorizedUrl含义小记

重写shiro跳转路劲loginUrl、successUrl等 最近有个需求,shiro中的路劲配置要求可以后台管理,以实现不同浏览器进入不同登录页面,不同权限进入不同首页。 研究源码后的解决方案: shiroFilter配置中的跳转,都是基于以下类进行设置的: 所以我们要做的就是继承并重写该类中的某些方法: 登录URL跳转:redirectToLogin 登录成功后的跳转:onLoginSuccess 最常用的就是这两个路劲,至于说特殊需求需 阅读详情

     shiro与spring整合的时候一般会使用shiro的Filter来代理网站的Filter。网上有很多关于配置shiroFilter的例子,但是感觉都没有给出参数的具体含义。在此小小的记录一下。
shiroFilter的xml配置如下:

<!-- Shiro Filter -->
        <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
            <property name="securityManager" ref="securityManager" />

            <property name="loginUrl" value="/index.jsp" />  <!-- 登录时访问的页面,即没有登录时访问任何页面跳转的页面。默认的是webroot下的login.jsp页面 -->

            <property name="unauthorizedUrl" value="/WEB-INF/jsp/NoAuthority.jsp" /> <!-- 认证未通过访问的页面,即经过认证但是没有相应的权限时跳转的页面 -->

            <property name="filterChainDefinitions">
                <value>
                /login                      = anon  <!-- 认证的url -->
                /static/**                  = anon
                /uploadFiles/uploadImgs/**  = anon
                /uploadFiles/file/**        = anon
                /webSocketServer            = anon       
                /**                         = authc
                </value>
            </property>
        </bean>

对于< property name=”loginUrl” value=”/index.jsp” />配置,很多博客只是简单地说了下它是登录时的请求页面。但是在具体的实时的时候出现了很多问题。以一下例子具体说明参数含义:
     1,假设网站的网址是http://localhost:8080/app1。当用户没有认证的时候,在浏览器敲击http://localhost:8080/app1网址的时候,会去查找app1根目录下的名为index.jsp的文件。若index.jsp中有其他重定向方法,则再进行跳转。
     2,当访问http://localhost:8080/app1/function1或其他目录下的文件时,若用户没有认证,那么还是会跳转到app1跟目录下的index.jsp页面。
对于< property name=”unauthorizedUrl” value=”/WEB-INF/jsp/NoAuthority.jsp”配置,是指访问了没有权限页面时,跳转的页面。假设当前登录的用户为A,他没有对function1的访问权限,当他在浏览器中输入http://localhost:8080/app1/function1时,会跳转到/WEB-INF/jsp目录下NoAuthority.jsp页面。

若依源码学习2:shiro配置及登入登出 1、Shiro 配置 shiro: user: # 登录地址 loginUrl: /login # 权限认证失败地址 unauthorizedUrl: /unauth # 首页地址 indexUrl: /index # 验证码开关 captchaEnabled: true # 验证码类型 math 数组计算 char 字符 captchaType: math cookie: # 设置Cookie的域名 默认空,. 阅读详情

相关推荐

SurfaceControlViewHost使用介绍

可以看到,主要用途:是把一个进程的View显示到另外一个进程里面。

chadm.xiang 1283

Shiro中loginUrl与unauthorizedUrl

项目中有用到Shiro框架,但是只使用了身份认证,即登录功能,未用到授权 权限验证功能,在使用的时候对loginUrl和unauthorizedUrl没有区分太清,一直以为unauthorizedUrl是被拦截后要跳转到的页面,今天特意查了一下,才清楚loginUrl是登录页面,unauthorizedUrl是没有资源权限时跳转到的页面。unauthorizedUrl:没有权限默认跳转的页面,登录的用户访问了没有被授权的资源自动跳转到的页面。在SpringBoot中通过Java代码来实现Shiro的配置。

web15185420056的博客 1042

【GAN实战】基于pytorch-CycleGAN与pix2pix的自定义数据集训练全攻略

本文详细解析了基于PyTorch的CycleGAN与pix2pix模型在自定义数据集上的完整训练流程。核心在于根据数据是否成对来正确选择模型:pix2pix适用于严格配对的“孪生”数据,而CycleGAN则擅长处理非配对的“散装”数据集。文章从数据准备、配置训练到测试应用,提供了全链路实战指南与关键参数调优心得,帮助开发者高效实现图像到图像的风格转换。

x2y3z4a5b的博客 704

Springboot+Shiro 基于URL 动态控制权限

前言:    权限控制有 注解的方式,jsp shiro标签的方式,还有url 动态控制的方式。这里我使用最后一种方式来控制权限 思路: 0.利用  PathMatchingFilter 拦截器 1.根据用户名 来查询角色, 2.根据角色查询权限 3.获取请求的url  4判断 根据用户名查询的权限 是否包括 请求的url 5.如果包括 则 放行,不包括重定向到 未授权界面 p...

Joe_elena的博客 1万+

Dify 从入门到熟悉100 天的学习大纲

理解 Dify 的核心概念,熟悉操作界面,并能创建简单的 AI 应用。祝你在这 100 天的旅程中学有所成,成为一名优秀的 AI 应用开发者!掌握生产环境部署、监控、调优,并关注 Dify 生态和前沿动态。探索多模态、Agent、API 集成、性能优化等高级主题。掌握工作流编排、高级提示词技巧、知识库优化等核心功能。

IT深耕十余载,大道之简 1733

感应电机无速度传感器FOC控制原理与Simulink仿真实践

无速度传感器FOC控制是电机驱动领域的重要技术,通过算法重构实现仅依赖电气参数的闭环控制。其核心原理基于电机数学模型,利用Clark/Park变换和滑模观测器估算转子位置和转速。这种技术在工业伺服系统中具有显著价值,能有效降低系统成本并提高可靠性。典型应用场景包括纺织机械、风机驱动等需要精确转速控制的设备。本文以感应电机为例,详细解析了无感FOC的Simulink实现方法,特别关注滑模观测器设计和双闭环控制策略,为工程师提供可直接复用的参数调优经验。

weixin_29189987的博客 259

shiro权限框架 -过滤器ShiroConfig详细配置(ShiroFilterFactoryBean详细参数配置)

package com.pcframe.config; import com.pcframe.realm.PcUserRealm; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.spring.web.ShiroFilterFactoryBea

Hibeilu的博客 1539

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑进行说明,以下图为例,准备好发送接收端的IBIS模型, (ibis_se.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 414

权限管理系统之集成Shiro实现登录、url和页面按钮的访问控制

小Hub领读:SpringBoot整合Shiro,如何做按钮级别的控制,看完就懂了!作者:小崔笔记本https://www.cnblogs.com/5ishare/p/10461073....

MarkerHub的博客 969

RK3568平台(camera篇)点亮imx586摄像头

mipi摄像头硬件确认点:1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接3.3V。2,时钟:MCLKOUT是24兆时钟。3.4组差分mipi线。mipi的data线的波形为方波。

weixin_49303682的博客 7257

损失函数大汇总(五十三)(Boundary Loss附公式推导与代码)

摘要 Boundary Loss是一种针对图像分割任务的新型损失函数,特别适用于高度类别不平衡的细粒度分割场景。与传统的区域型损失(如Dice、交叉熵)不同,它通过计算预测边界与真实边界之间的距离来优化模型,更关注边界精度而非区域重叠。核心思想是利用距离图(distance map)将边界约束转化为区域积分形式,实现端到端训练。具体实现中,损失函数为预测概率与距离图的点积,梯度仅取决于距离图,具有明确的空间引导性。相比区域型损失,Boundary Loss能更好处理小目标、细长结构等边界敏感任务,可与Dic

悦学共鸣,温柔以待,汇聚光芒,共同成长 237

springboot shiro 多realm多loginUrl设置(动态改变loginUrl)踩坑经历 重定向次数多

在我使用shiro时,我发现需要多个loginURL,但是框架只提供了一个角色的登陆,我在网上找到了解决方法。 参考博客 在shiro多realm的情况下,让用户访问需要认证的页面时,不同的角色肯定需要不同的loginUrl 然而shiro的ShiroFilterFactoryBean只能写入一个loginUrl,此时需要用到ShiroFilterFactoryBean的setFilters方法,下面是解决办法。 以下是解决方法: shiro底层是通过redirectToLogin方法使未认证的用户跳转

weixin_44273241的博客 3214

Oracle 查看 rman 备份情况 SQL 语句

每天一个 DBA 小知识,助你更进一步!

LuciferLiu_DBA 3117

Shiro自定义登录页面配置,Shiro默认登录页面

================================ ©Copyright 蕃薯耀 2022-04-06 蕃薯耀的博客_优快云博客 一、Shiro默认登录页面 Shiro默认登录页面是根路径的jsp页面: /login.jsp 二、Shiro自定义登录页面 方式一:application.properties配置 在application.properties文件配置shiro.loginUrl shiro.loginUrl=/login 方式二:在..

蕃薯耀的博客 3988

IDEA的使用指南

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Shiro笔记五:Shiro内置Filter过滤器

Shiro笔记五:Shiro内置Filter过滤器 shiro内置的过滤器 核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理。 authc:org.apache.shiro.web.filter.authc.FormAuthenticationFilter 需要认证登录才能访问 user:org.apache.shiro.web.filter.authc.UserFilter 用户拦截器,表示必须存在用户。 anon:org.apache.shiro.web.f

公子&小白的博客 2136

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Shiro概念

ShiroFilter的工作原理 浏览器发送过来的请求。分为两种处理。 1.ShiroFilterFactoryBean中设置的loginUrl,可以不经过认证直接访问。 2.ShiroFilterFactoryBean中设置的filterChainDefinitions,通过它的配置,可以访问经过认证或者不被拦截的页面。 Shiro常用的过滤器 anon:无需认证就可以访问 authc:必须认证了才能访问 user:必须存在用户 perms:必须拥有对某个资源的权限才能访问 roles:必须拥

小杜的博客 443

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

shiro踏坑(一)——loginUrl不拦截问题

    想想大家应该也遇到过整合了ssm+shiro后,直接进入需要经过认证授权的页面,但是loginUrl居然不拦截,直接放行进来,虽然拿不到数据。但是这也是不能忍的。    下面是我的shiro整合spring的配置文件:&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3...

LuckyToMeet-Dian叶 1万+

Spring Boot Shiro权限管理--扩展FormAuthenticationFilter实现动态改变LoginUrl

1、自定义FormAuthenticationFilterimport org.apache.shiro.web.filter.authc.FormAuthenticationFilter; import org.apache.shiro.web.util.WebUtils; import javax.servlet.ServletRequest; import javax.servlet.Se...

u010361786的博客 5634

Springboot2.x整合shiro获取配置文件数据为null (超级大坑)

问题描述: shiro 配置文件获取不到数据。 springboot @Configuration配置类里面使用@Value获取不到.yml配置文件属性的值。 spring boot整合shiro配置文件数据为null。 shrio整合redis管理session,问题出现的直接现象: 以下是版本信息: springboot 2.1.6.RELEASE <shiro-spring...

chuxin_mm的博客 1655

Shiro实现会话过期动态跳转(动态跳转到loginUrl)

需求 项目基于session实现的会话机制,在会话过期后根据当前登录的角色实现不同界面的跳转,管理员角色登录过期后跳转到/manage/login界面,其他角色登录过期后跳转到/login界面 项目结构 springboot + shiro + session + thymeleaf 依赖 <!--Shiro--> <dependency> <groupId>org.apache.shiro</groupId> .

过于丰富,无法简介 2354

Shiro简单入门

Shiro 简介 Apache Shiro是一个功能强大且灵活的开源安全框架,可以清晰地处理身份验证,授权,企业会话管理和加密。 以下是Apache Shiro可以做的一些事情: 验证用户以验证其身份 为用户执行访问控制 在任何环境中使用Session API,即使没有Web容器或EJB容器也是如此。 ...... 功能简介 Authentication:身份认证/登录,验证用户...

corleone_4ever的博客 353

spring 整合shiro ,并实现动态url 配置

shiro 与Spring 结合 maven 导入相关包 <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-c

relax 1万+

tomcat shiro session参数拼接入url 重定向处理

@Bean public ServletContextInitializer servletContextInitializer() { return new ServletContextInitializer() { @Override public void onStartup(ServletContext servletContext) throws ServletException { servletContext.setSessio.

weixin_42442586的博客 351

springboot + shiro 多realm多loginUrl设置(动态改变loginUrl)

【springboot + shiro】多realm的多loginUrl设置(动态改变loginUrl) 在shiro多realm的情况下,让用户访问需要认证的页面时,不同的角色肯定需要不同的loginUrl 然而shiro的ShiroFilterFactoryBean只能写入一个loginUrl,此时需要用到ShiroFilterFactoryBean的setFilters方法,解决办法如下: shiro底层是通过redirectToLogin方法使未认证的用户跳转到登陆页的,那么只需要重写这个方法

weixin_45044261的博客 2698

shiro中LoginUrl与UnauthorizedUrl的作用

一 描述 1.如shiroconfig的filter 1

健康平安的活着的专栏 1007
上一篇: mybatis批量更新时sql语句没问题但报bad SQL grammar []错误
下一篇: tomcat4源码剖析(一)——tomcat的整体架构
TYOUKAI_
博客等级 码龄9年 33粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值