Shiro 的FilterChain
/**
 * Shiro的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 =============================================================================================================================
 * 
 */
Shiro 的FilterChain的更多相关文章
- 30分钟学会如何使用Shiro
		
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...
 - cas+shiro统一注销原理解析
		
1,客户端发送一个注销请求到cas server,跟踪casorg.jasig.cas.CentralAuthenticationServiceImpl类的destroyTicketGrantingT ...
 - Shiro权限验证代码记录,正确找到shiro框架在什么地方做了权限识别
		
权限验证方式的验证代码: org.apache.shiro.web.servlet.AdviceFilter这个类是所有shiro框架提供的默认权限验证实例类的父类 验证代码: public void ...
 - Apache Shiro 使用手册(五)Shiro 配置说明
		
Apache Shiro的配置主要分为四部分: 对象和属性的定义与配置 URL的过滤器配置 静态用户配置 静态角色配置 其中,由于用户.角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含 ...
 - Apache Shiro 手册
		
(一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录 ...
 - SpringMVC整合Shiro——(3)
		
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro ...
 - Apache Shiro 使用手册---转载
		
原文地址:http://www.360doc.com/content/12/0104/13/834950_177177202.shtml (一)Shiro架构介绍 一.什么是Shiro Apache ...
 - Apache Shiro 使用手册
		
http://kdboy.iteye.com/blog/1154644 (一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加 ...
 - Shiro学习详解
		
1.Shiro基本架构 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”: 授权 ...
 
随机推荐
- 新建HomeController控制器 继承BaseController
			
CRC这个缩略词,在我看来可以有两种理解:一种是Cyclic Redundancy Check,即循环冗余检错技术:另一种则是Cyclic Redundance Code,即循环冗余校检码.在计算机网 ...
 - Redis14--jedis实现主从模式。
			
redis的主从模式之前提到过,这里我们使用redis来实现主从模式.首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser:然后我们jack作为主机,redi ...
 - 代码块(Block)回调一般阐述
			
本章教程主要对代码块回调模式进行讲解,已经分析其他回调的各种优缺点和适合的使用场景. 代码块机制 Block变量类型 Block代码封装及调用 Block变量对普通变量作用域的影响 Block回调接口 ...
 - phpQuery 无法解析 html 结构
			
有时候解析一段 HTML 代码时 phpQuery 无法解析原因: 可能是缺少类似下面的 meta 信息,在带解析的字符串任意位置添上即可 : <meta http-equiv="Co ...
 - hdu1012
			
#include<iostream>#include<stdio.h> using namespace std; int jiechen(int n){ int i; ...
 - loadrunner 日志
			
loadrunner 日志包括两个部分 1.在VUGEN中运行后的日志,日志存放在脚本目录下output.log2.在controller中运行后的日志, result setting 设置目录 1. ...
 - 重载 vs 重写
			
http://www.cnblogs.com/lonelyDog/archive/2011/11/16/2251011.html
 - Oberon程序设计—目录
			
内 容前 言1, 什么是Oberon? 1.1 ALGOL家族 1.2 该系统2, 第一:程序 2.1 一个符号来描述的语法: 2.2练习 第一部分,符号和基本类型,分配,控制结构, ...
 - Gentoo本地化设置--时区、时钟、字体、中文环境
			
时区 你需要选择时区让系统知道你的地理位置,以保持正确的时间.在/usr/share/zoneinfo中查找你的时区.然后在/etc/conf.d/clock中设置时区.请忽略/usr/share/z ...
 - #include 和 #pragma comment 的相对路径起点
			
#include 是以当前文件所在路径为当前目录 #pragma comment 是以当前工程所在路径为当前目录 #include "../../../../ThirdParty/Inclu ...