Shiro 权限管理filterChainDefinitions过滤器配置

手把手教你玩转Shiro(2) 如果没有看第一篇关于Shiro的,可以先看看这篇文章哦,因为是一个前导知识  Shiro前导知识 ,,对于深层次理解会有很好的效果呢!而且本篇也有利用到前面写的知识点哦。~ 一:Shiro的认识        Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。 既然shiro将安 阅读详情

前言:shiro三大核心模块:Subject(用户)、SecurityManager(框架心脏)、Realm(Shiro与应用安全数据间的“桥梁”)
SecurityManager去管理cacheManager缓存和sessionManager会话,sessionManager再去管理sessionDAO会话DAO 和sessionIdCookie会话ID生成器和sessionValidationScheduler会话验证调度器,cacheManager通过使用Ehcache实现,Realm通过自己自定义或者其他方式的权限存储来实现,比如登录等.

使用统一数据访问层,通过编写实体类,编写Repository接口,最后通过配置文件实现
Repository是标识,spring自动扫描,CrudRepository继承Repository实现curd,PagingAndSortingRepository继承CrudRepository实现分页排序,JpaRepository继承PagingAndSortingRepository实现JPA规范相关的方法,JpaSpecificationExecutor不属于Repository,比较特殊,它去实现一组JPA Criteria查询相关的方法

==============================================================================================================

/**

* Shiro-1.2.2内置的FilterChain

* @see =========================================================================================================

* @see 1)Shiro验证URL时,URL匹配成功便不再继续匹配查找(所以要注意配置文件中的URL顺序,尤其在使用通配符时)

* @see   故filterChainDefinitions的配置顺序为自上而下,以最上面的为准

* @see 2)当运行一个Web应用程序时,Shiro将会创建一些有用的默认Filter实例,并自动地在[main]项中将它们置为可用

* @see   自动地可用的默认的Filter实例是被DefaultFilter枚举类定义的,枚举的名称字段就是可供配置的名称

* @see   anon---------------org.apache.shiro.web.filter.authc.AnonymousFilter

* @see   authc--------------org.apache.shiro.web.filter.authc.FormAuthenticationFilter

* @see   authcBasic---------org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter

* @see   logout-------------org.apache.shiro.web.filter.authc.LogoutFilter

* @see   noSessionCreation--org.apache.shiro.web.filter.session.NoSessionCreationFilter

* @see   perms--------------org.apache.shiro.web.filter.authz.PermissionAuthorizationFilter

* @see   port---------------org.apache.shiro.web.filter.authz.PortFilter

* @see   rest---------------org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter

* @see   roles--------------org.apache.shiro.web.filter.authz.RolesAuthorizationFilter

* @see   ssl----------------org.apache.shiro.web.filter.authz.SslFilter

 *@see   user---------------org.apache.shiro.web.filter.authz.UserFilter

* @see =========================================================================================================

* @see 3)通常可将这些过滤器分为两组

* @see   anon,authc,authcBasic,user是第一组认证过滤器

* @see   perms,port,rest,roles,ssl是第二组授权过滤器

* @see   注意user和authc不同:当应用开启了rememberMe时,用户下次访问时可以是一个user,但绝不会是authc,因为authc是需要重新认证的

* @see   user表示用户不一定已通过认证,只要曾被Shiro记住过登录状态的用户就可以正常发起请求,比如rememberMe

* @see   说白了,以前的一个用户登录时开启了rememberMe,然后他关闭浏览器,下次再访问时他就是一个user,而不会authc

* @see ==========================================================================================================

* @see 4)举几个例子

* @see   /admin=authc,roles[admin]      表示用户必需已通过认证,并拥有admin角色才可以正常发起'/admin'请求

* @see   /edit=authc,perms[admin:edit]  表示用户必需已通过认证,并拥有admin:edit权限才可以正常发起'/edit'请求

* @see   /home=user                     表示用户不一定需要已经通过认证,只需要曾经被Shiro记住过登录状态就可以正常发起'/home'请求

* @see ==========================================================================================================

* @see 5)各默认过滤器常用如下(注意URL Pattern里用到的是两颗星,这样才能实现任意层次的全匹配)

* @see   /admins/**=anon             无参,表示可匿名使用,可以理解为匿名用户或游客

* @see   /admins/user/**=authc       无参,表示需认证才能使用

* @see   /admins/user/**=authcBasic  无参,表示httpBasic认证

* @see   /admins/user/**=user        无参,表示必须存在用户,当登入操作时不做检查

* @see   /admins/user/**=ssl         无参,表示安全的URL请求,协议为https

* @see   /admins/user/**=perms[user:add:*]

* @see    参数可写多个,多参时必须加上引号,且参数之间用逗号分割,如/admins/user/**=perms["user:add:*,user:modify:*"]

* @see    当有多个参数时必须每个参数都通过才算通过,相当于isPermitedAll()方法

* @see   /admins/user/**=port[8081]

* @see     当请求的URL端口不是8081时,跳转到schemal://serverName:8081?queryString

* @see     其中schmal是协议http或https等,serverName是你访问的Host,8081是Port端口,queryString是你访问的URL里的?后面的参数

* @see   /admins/user/**=rest[user]

* @see       根据请求的方法,相当于/admins/user/**=perms[user:method],其中method为post,get,delete等

* @see   /admins/user/**=roles[admin]

* @see     参数可写多个,多个时必须加上引号,且参数之间用逗号分割,如/admins/user/**=roles["admin,guest"]

* @see     当有多个参数时必须每个参数都通过才算通过,相当于hasAllRoles()方法

* @see

================================================================================================================


http://liureying.blog.163.com/blog/static/61513520136205574873/

spring中 shiro logout 配置方式
有两种方式实现logout
1. 普通的action中 实现自己的logout方法,取到Subject,然后logout
这种需要在ShiroFilterFactoryBean 中配置 filterChainDefinitions 
对应的action的url为anon
<property name="filterChainDefinitions">
            <value>
                # some example chain definitions:
                /index.htm = anon
                /logout = anon
                /unauthed = anon
                /console/** = anon
                /css/** = anon
                /js/** = anon
                /lib/** = anon
                /admin/** = authc, roles[admin]
                /docs/** = authc, perms[document:read]
                /** = authc
                # more URL-to-FilterChain definitions here
            </value>

2. 使用shiro提供的logout filter
需要定义 相应的bean
<bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter">
        <property name="redirectUrl" value="/loginform" />
    </bean>

然后将相应的url filter配置为logout如下
<property name="filterChainDefinitions">
            <value>
                # some example chain definitions:
                /index.htm = anon
                 /logout = logout
                /unauthed = anon
                /console/** = anon
                /css/** = anon
                /js/** = anon
                /lib/** = anon
                /admin/** = authc, roles[admin]
                /docs/** = authc, perms[document:read]
                /** = authc
                # more URL-to-FilterChain definitions here
            </value>

注:anon,authcBasic,auchc,user是认证过滤器,perms,roles,ssl,rest,port是授权过滤器
===============================================================================================================

http://kdboy.iteye.com/blog/1154652
http://blog.youkuaiyun.com/peterwanghao/article/details/8084126
http://www.oschina.net/question/593111_62454
http://blog.youkuaiyun.com/shadowsick/article/details/17265625
TC387 MCMCAN Message RAM配置详解:Tx Buffer与Rx FIFO地址布局 在嵌入式CAN/CAN FD通信系统中,缓冲区和FIFO是数据收发的核心机制,而AURIX TC3xx系列单片机将这一机制集成在了MCMCAN模块专用的Message RAM中。这是一块由CAN控制器独占的内存区域,开发人员需要按照寄存器规范手动划分Tx Buffer、Rx FIFO、过滤元素等子区间。合理的RAM布局能确保不同功能区域互不重叠、有序排列,避免数据覆盖与错帧。通过掌握TXBC、RXF0C等配置寄存器的字段含义,结合实用的地址布局表,可以显著降低多节点CAN通信的调试成本。本内容面向使用TC3 阅读详情

相关推荐

PyTorch实战:从零构建CNN图像分类模型

卷积神经网络(CNN)作为计算机视觉的核心架构,通过局部连接和权值共享机制高效处理图像数据。其核心组件包括卷积层、池化层和全连接层,其中PyTorch的动态计算图特性为CNN实现提供了灵活的开发环境。在工程实践中,使用CIFAR-10这类标准数据集可以快速验证模型性能,而数据增强和批归一化等技术能有效提升模型泛化能力。通过PyTorch实现CNN不仅能够掌握图像分类的基本原理,还能为后续迁移学习和复杂视觉任务打下基础,特别是在结合Adam优化器和学习率调度策略后,模型收敛速度和准确率都能得到显著提升。

weixin_42405592的博客 318

shiro 中的filterChainDefinitions详解

springrain使用shiro

bug_404的博客 4万+

5分钟搞定!用Keil MDK将STM32F103C8T6工程无缝迁移到ZET6开发板

本文详细介绍了如何在Keil MDK环境下快速将STM32F103C8T6工程迁移到ZET6开发板,涵盖硬件差异对比、工程配置调整、外设适配及编译排错等关键步骤,帮助开发者5分钟内完成工程移植,大幅提升开发效率。

weixin_30879169的博客 409

SpringMVC整合Shiro与filterChainDefinitions过滤器配置

port:例子/admins/user/**=port[8081],当请求的url的端口不是8081是跳转到schemal://serverName:8081queryString,其中schmal是协议http或https等,serverName是你访问的host,8081是url配置里port的端口,queryString。* @see 根据请求的方法,相当于/admins/user/**=perms[user:method],其中method为post,get,delete等。

m0_67401270的博客 1650

Win11下Wezterm配置Powershell默认终端全攻略(含主题同步技巧)

本文详细介绍了在Windows 11系统中,如何安装和配置Wezterm终端模拟器,并将其设置为PowerShell的默认终端。内容涵盖使用Winget或手动安装Wezterm,通过修改.lua配置文件切换默认Shell,并同步Campbell主题配色以还原熟悉的PowerShell视觉体验,旨在帮助开发者打造高效、个性化的命令行工作环境。

weixin_28363123的博客 1231

system_stm32f10x.c文件分析

配置系统时钟(包括系统时钟源、锁相环(PLL)倍频系数、高级高性能总线(AHB)/ 高级外设总线(APBx)预分频器以及闪存相关设置)。该函数在系统复位后的启动阶段被调用,且调用时机早于跳转到主程序之前。

Jia shuheng的博客 603

Shiro:中的filterChainDefinitions详解。

springrain使用shiro控制权限,配置filterChainDefinitions结合数据库校验权限。我们在web.xml中配置一个全局过滤器,也就是在springrain配置的是一个spring bean的“shiroFilter“,在这个bean中可以根据访问路径在配置不同的过滤器,其中shiro默认自带的过滤器如下:Class説明anon任何人都可以访问authc必须是登录之后才能进行访问,不包括remember meauthcBasiclogoutperms。...

m0_67393413的博客 877

软件测试工程师最常用的Linux系统命令大全(汇总)

cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

1330

authc过滤器 shiro_shrio 权限管理filterChainDefinitions过滤器配置

/*** Shiro-1.2.2内置的FilterChain* @see =============================================================================================================================* @see 1)Shiro验证URL时,URL匹配成功便不再继续匹配查找...

weixin_29023349的博客 399

西门子交换机环网冗余设置(实战篇2.2)

MRP的重组时间为 200ms 因此 PROFINET 通信必须选择大于 200ms 的看门狗时间,看门狗。ET200SP默认为 2ms*3=6ms) MRP 的重组时间为 200ms 故系统会报出看门狗超时。更新,默认是 3 个周期,超出设置的周期数就会报 IO 设备故障。时间不是直接配置的,而是作为没有 IO 数据可接受的更新周期,也就是允许几个周期没有数据。来达到大于 200ms 的看门狗时间的要求(看门狗时间 可接受更新周期数 更新时间)。是IO 控制器和 IO 设备)

weixin_42580591的博客 366

基于STM32L4XX、HAL库的IP101GRI以太网收发器(PHY)驱动程序设计

define IP101GRI_PHY_ADDRESS 0x01 // 根据硬件设计设置PHY地址。#define IP101GRI_PHYSTS 0x10 // PHY状态寄存器。#define IP101GRI_PHYINIR 0x12 // PHY中断寄存器。#define IP101GRI_PHYCR 0x14 // PHY控制寄存器。#define IP101GRI_PHYID2 0x03 // PHY标识符2。

zhusl6688的博客 722

xml配置文件中对于Shiro 权限管理filterChainDefinitions过滤器配置

博客转载:http://blog.youkuaiyun.com/userrefister/article/details/47807075 /** * Shiro-1.2.2内置的FilterChain * @see ================================================================================================...

qq_39666711的博客 59

20、机器人硬件改造与Geomagic Touch设备的运动学和动力学模型

本文详细介绍了机器人CRS 465和255的硬件改造过程,包括数字阶段、模拟阶段、功率阶段及软件实现,并深入研究了Geomagic Touch触觉设备的五自由度与三自由度运动学、微分运动学及动力学模型。文章还探讨了其在虚拟手术、装配等场景中的应用,提出了硬件与模型优化方向,如电源管理改进、信号处理优化、参数校准与自适应控制,并展望了多机器人协作、多传感器融合与智能控制算法的发展前景。

e4f5g6h7的博客 122

shrio 权限管理filterChainDefinitions过滤器配置(转)

shrio 权限管理filterChainDefinitions过滤器配置 /** * Shiro-1.2.2内置的FilterChain * @see ==========================================================================================...

WGH100817的博客 110

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

shrio 权限管理filterChainDefinitions过滤器配置

shrio 权限管理filterChainDefinitions过滤器配置/*** Shiro-1.2.2内置的FilterChain* @see =========================================================================================================================...

anxiqi4357的博客 132

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Shrio的filterChainDefinitions过滤器配置

shrio 权限管理filterChainDefinitions过滤器配置/*** Shiro-1.2.2内置的FilterChain* @see =============================================================================================================================*...

dbeautifulLife的博客 571

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

shiro过滤器,web.xml中默认访问页面,springMVC拦截器执行顺序

shiro过滤器,web.xml中默认访问页面以及springMVC拦截器执行顺序及shiroFilter部分参数含义

TYOUKAI_的博客 7463

Shiro学习之Shiro与Spring的集成(四)

一、在web.xml中添加shiro过滤器 &lt;filter&gt; &lt;filter-name&gt;shiroFilter&lt;/filter-name&gt; &lt;filter-class&gt; org.springframework.web.filter.DelegatingFilterProxy &lt;/f...

a3060858469的博客 223

apache shiro权限框架

1.shrio 权限管理filterChainDefinitions过滤器配置点击打开链接 2.spring整合shiro安全框架点击打开链接 3. demo点击打开链接

wujiandao000的博客 204

Shiro - 与Spring集成

本文是针对web应用web.xml: <filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <...

aozhangping6851的博客 62
上一篇: Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven
下一篇: CentOS 6.5 64位安装mysql 5.6
爱青菜
博客等级 码龄16年 17粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值