2019独角兽企业重金招聘Python工程师标准>>>

Shiro内置的FilterChain 
1)Shiro验证URL时,URL匹配成功便不再继续匹配查找(所以要注意配置文件中的URL顺序,尤其在使用通配符时) 故filterChainDefinitions的配置顺序为自上而下,以最上面的为准
===============================================================
2)当运行一个Web应用程序时,Shiro将会创建一些有用的默认Filter实例,并自动地在[main]项中将它们置为可用 
自动地可用的默认的Filter实例是被DefaultFilter枚举类定义的,枚举的名称字段就是可供配置的名称 
anon---------------org.apache.shiro.web.filter.authc.AnonymousFilter 
authc--------------org.apache.shiro.web.filter.authc.FormAuthenticationFilter 
authcBasic---------org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter 
logout-------------org.apache.shiro.web.filter.authc.LogoutFilter 
noSessionCreation--org.apache.shiro.web.filter.session.NoSessionCreationFilter 
perms--------------org.apache.shiro.web.filter.authz.PermissionAuthorizationFilter 
port---------------org.apache.shiro.web.filter.authz.PortFilter 
rest---------------org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter 
roles--------------org.apache.shiro.web.filter.authz.RolesAuthorizationFilter 
ssl----------------org.apache.shiro.web.filter.authz.SslFilter 
user---------------org.apache.shiro.web.filter.authz.UserFilter
===============================================================
3)通常可将这些过滤器分为两组 
anon,authc,authcBasic,user是第一组认证过滤器 
perms,port,rest,roles,ssl是第二组授权过滤器 
注意user和authc不同:当应用开启了rememberMe时,用户下次访问时可以是一个user,但绝不会是authc,因为authc是需要重新认证的 
user表示用户不一定已通过认证,只要曾被Shiro记住过登录状态的用户就可以正常发起请求,比如rememberMe 
 说白了,以前的一个用户登录时开启了rememberMe,然后他关闭浏览器,下次再访问时他就是一个user,而不会authc 
===============================================================
4)举几个例子 
/admin=authc,roles[admin]      表示用户必需已通过认证,并拥有admin角色才可以正常发起'/admin'请求 
/edit=authc,perms[admin:edit]  表示用户必需已通过认证,并拥有admin:edit权限才可以正常发起'/edit'请求 
/home=user                     表示用户不一定需要已经通过认证,只需要曾经被Shiro记住过登录状态就可以正常发起'/home'请求 
===============================================================
5)各默认过滤器常用如下(注意URL Pattern里用到的是两颗星,这样才能实现任意层次的全匹配) 
/admins/**=anon             无参,表示可匿名使用,可以理解为匿名用户或游客 
/admins/user/**=authc       无参,表示需认证才能使用 
/admins/user/**=authcBasic  无参,表示httpBasic认证 
/admins/user/**=user        无参,表示必须存在用户,当登入操作时不做检查 
/admins/user/**=ssl         无参,表示安全的URL请求,协议为https 
/admins/user/**=perms[user:add:*] 
参数可写多个,多参时必须加上引号,且参数之间用逗号分割,如/admins/user/**=perms["user:add:*,user:modify:*"] 
当有多个参数时必须每个参数都通过才算通过,相当于isPermitedAll()方法 
/admins/user/**=port[8081] 
当请求的URL端口不是8081时,跳转到schemal://serverName:8081?queryString 
其中schmal是协议http或https等,serverName是你访问的Host,8081是Port端口,queryString是你访问的URL里的?后面的参数 
/admins/user/**=rest[user] 
根据请求的方法,相当于/admins/user/**=perms[user:method],其中method为post,get,delete等 
/admins/user/**=roles[admin] 
参数可写多个,多个时必须加上引号,且参数之间用逗号分割,如/admins/user/**=roles["admin,guest"] 
 当有多个参数时必须每个参数都通过才算通过,相当于hasAllRoles()方法

转载于:https://my.oschina.net/liuyuantao/blog/794452

Shiro内置的FilterChain相关推荐

  1. 【若依(ruoyi)】shiro 内置的过滤器(filter)

    前言 shiro: 1.5.3 若依(ruoyi): v4.3 (测试shiro的环境) shiro 内置的过滤器(filter) Filter Name Class anon org.apache. ...

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

    Shiro笔记五:Shiro内置Filter过滤器 shiro内置的过滤器 核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理. authc:org.apache.shiro ...

  3. apache shiro内置过滤器 标签 注解

    内置过滤器 anon(匿名)  org.apache.shiro.web.filter.authc.AnonymousFilter authc(身份验证)       org.apache.shiro ...

  4. Shiro的内置过滤器没有生效

    Shiro的内置过滤器没有生效 在学习shiro时,对某些访问路径设置过滤器,如filterMap.put("/user/add","authc");但是设置好 ...

  5. 企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台

    企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...

  6. JavaFast技术特点介绍-企业级JAVA快速开发平台, 内置java代码生成器

    企业级JAVA快速开发平台, 内置代码生成器 - JavaFast快速开发平台 JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务 ...

  7. Python 常用内置函数map、zip、filter、reduce、enumerate

    Python 中有许多非常实用的内置函数,通过这些函数我们可以方便的实现某些功能,下面就列举一些常用的内置函数. 1. map() 函数 map() 可以根据提供的函数对指定序列做映射,它接受一个函数 ...

  8. python内置库之学习configparser库(一)

    python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...

  9. 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...

最新文章

  1. javascript中async await的用法
  2. 29个月过去了,CSDN排名前200了:排名不断靠前的过程中,自己的技术水平和竞争力一定会不断向上...
  3. 机器学习 python_送书 | 深入浅出Python机器学习
  4. python笔记基础-Python学习笔记(基础)
  5. C语言结构体-大小,对齐,填充,使用及其他
  6. Tomcat配置虚拟主机的两种方式
  7. 一文读懂层次聚类(Python代码)
  8. 一篇万字长文读懂微软PDB、SourceLink——.net core之nuget 包调试
  9. Thinkphp V5.X 远程代码执行漏洞 - POC(精:集群5.0*、5.1*、5.2*)
  10. 由需求而产生的一款db导出excel的工具
  11. Flink 新一代流计算和容错——阶段总结和展望
  12. loadGrid layui
  13. NLP实验一:形式语言和自动机
  14. 介绍一款喜欢的产品|产品经理面试题第2篇
  15. Linux下网络传输(模拟路由器)
  16. 世界最流行鸡尾酒25款
  17. 我国20年农药年施用量增百万吨 生产方式需反思
  18. Golang 开发之Cobra初探
  19. Ubuntu 安装sogo 输入法
  20. 无聊,几行python代码写一个聊天机器人陪你聊天

热门文章

  1. 数据结构:前缀,中缀,后缀表达式(逆波兰表达式)
  2. 前端一HTML:十五: 层叠,权重,优先级的关系
  3. python三十九:logging模块
  4. java8新特性: lambda表达式:直接获得某个list/array/对象里面的字段集合
  5. Centos基础优化
  6. 银行业双活数据中心-F5在双活数据中心中的应用
  7. 恶意软件、Rootkit和僵尸网络
  8. 新版GNS3-安装及配置教程
  9. HDU-1299 Diophantus of Alexandria 素因子分解
  10. python 操作 excel