Apache Shiro 使用手册(五)Shiro 配置说明(转发:http://kdboy.iteye.com/blog/1169637)
Apache Shiro的配置主要分为四部分:
- 对象和属性的定义与配置
 - URL的过滤器配置
 - 静态用户配置
 - 静态角色配置
 
其中,由于用户、角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含前两项的配置。
Apache Shiro的大多数组件是基于POJO的,因此我们可以使用POJO兼容的任何配置机制进行配置,例如:Java代码、Sping XML、YAML、JSON、ini文件等等。下面,以Spring XML的配置方式为例,并且对其中的一些配置参数进行一些简单说明。
Shiro对象的配置: 
主要是对Shiro各个组件的实现进行定义配置,主要组件在前文已做过简单介绍,这里不再一一说明。
- <bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager">
 - <property name="cacheManager" ref="cacheManager"/>
 - <property name="sessionMode" value="native"/>
 - <!-- Single realm app. If you have multiple realms, use the 'realms' property instead. -->
 - <property name="realm" ref="myRealm"/>
 - <property name="sessionManager" ref="sessionManager"/>
 - </bean>
 
Shiro过滤器的配置 
Shiro主要是通过URL过滤来进行安全管理,这里的配置便是指定具体授权规则定义。
- <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
 - <property name="securityManager" ref="securityManager"/>
 - <property name="loginUrl" value="/login.jsp"/>
 - <property name="successUrl" value="/home.jsp"/>
 - <property name="unauthorizedUrl" value="/unauthorized.jsp"/> -->
 - <property name="filterChainDefinitions">
 - <value>
 - # some example chain definitions:
 - /admin/** = authc, roles[admin]
 - /docs/** = authc, perms[document:read]
 - /** = authc
 - # more URL-to-FilterChain definitions here
 - </value>
 - </property>
 - </bean>
 
URL过滤器配置说明: 
Shiro可以通过配置文件实现基于URL的授权验证。FilterChain定义格式: 
URL_Ant_Path_Expression = Path_Specific_Filter_Chain 
每个URL配置,表示匹配该URL的应用程序请求将由对应的过滤器进行验证。 
例如: 
[urls] 
/index.html = anon 
/user/create = anon 
/user/** = authc 
/admin/** = authc, roles[administrator] 
/rest/** = authc, rest 
/remoting/rpc/** = authc, perms["remote:invoke"]
URL表达式说明 
1、URL目录是基于HttpServletRequest.getContextPath()此目录设置 
2、URL可使用通配符,**代表任意子目录 
3、Shiro验证URL时,URL匹配成功便不再继续匹配查找。所以要注意配置文件中的URL顺序,尤其在使用通配符时。
Filter Chain定义说明 
1、一个URL可以配置多个Filter,使用逗号分隔 
2、当设置多个过滤器时,全部验证通过,才视为通过 
3、部分过滤器可指定参数,如perms,roles
Shiro内置的FilterChain
| Filter Name | Class | 
| anon | org.apache.shiro.web.filter.authc.AnonymousFilter | 
| authc | org.apache.shiro.web.filter.authc.FormAuthenticationFilter | 
| authcBasic | org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter | 
| perms | org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter | 
| 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.authc.UserFilter | 
Apache Shiro 使用手册(五)Shiro 配置说明(转发:http://kdboy.iteye.com/blog/1169637)的更多相关文章
- Apache Shiro 使用手册(三)Shiro 授权(转发:http://kdboy.iteye.com/blog/1155450)
		
授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限. 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等. 一.授权的三要素 授权有着三 ...
 - Apache Shiro 使用手册(一)Shiro架构介绍(转发:http://kdboy.iteye.com/blog/1154644#bc2399255)
		
一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”: 授权 - 访问控制: 密码加密 ...
 - Apache Shiro 使用手册(二)Shiro 认证(转发:http://kdboy.iteye.com/blog/1154652)
		
认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一. ...
 - Apache Shiro 使用手册(四)Realm 实现(转发:http://kdboy.iteye.com/blog/1169631)
		
在认证.授权内部实现机制中都有提到,最终处理都将交给Real进行处理.因为在Shiro中,最终是通过Realm来获取应用程序中的用户.角色及权限信息的.通常情况下,在Realm中会直接从我们的数据源中 ...
 - Shiro学习笔记五(Shiro标签,及通配符)
		
1.首先是导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> ...
 - 基于Spring框架的Shiro配置(转发:http://kdboy.iteye.com/blog/1103794)
		
一.在web.xml中添加shiro过滤器 <!-- Shiro filter--> <filter> <filter-name>shiroFilter</f ...
 - Apache Shiro 使用手册(五)Shiro 配置说明
		
Apache Shiro的配置主要分为四部分: 对象和属性的定义与配置 URL的过滤器配置 静态用户配置 静态角色配置 其中,由于用户.角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含 ...
 - Apache Shiro 使用手册
		
http://kdboy.iteye.com/blog/1154644 (一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加 ...
 - Apache Shiro 使用手册(一)Shiro架构介绍 - kdboy - ITeye技术网站
		
转载 原文地址 http://kdboy.iteye.com/blog/1154644 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理 ...
 
随机推荐
- SQL Server 2008 导入MDF数据库文件
			
1.将.MDF和.LDF文件拷到SQL Server2008数据目录,如:\\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ ...
 - Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
			
推理可得终于结果为2的(n-可分组合数)次方. 问题是怎么求出可分组合数,深搜就可以,当然并查集也能够. AC代码例如以下: 深搜代码!!! #include<iostream> #inc ...
 - ROS当中添加第三方库
			
下文以serial 库为依据讲解第三方库在ROS下面的配置. 参考文献:http://blog.csdn.net/u011853479/article/details/51263590 ros中使 ...
 - springMVC 【@response 返回对象自动变成json并且防止乱码】 & 【配置支持实体类中的@DateTimeFormat注解】
			
在springmvc的配置文件中加上这一段即可 <bean class="org.springframework.web.servlet.mvc.annotation.Annotati ...
 - appium  for  mac 安装与测试ios说明
			
一.安装 安装dmg,可以自己下载appium-1.4.0.dmg或者找rtx我要,文件过大不能添加附件. Appium提供了一个doctor,运行appium-doctor 如果有问题,Fix it ...
 - hdu 神、上帝以及老天爷 java
			
问题: 递推.可是a[i]=(a[i-1]+a[i-2])+(i-1)公式没有推出来. 在递推时,for循环约束值用的输入的m导致数组没有储存数. 在算阶乘时for循环中将i和j用混了,导致没有数输出 ...
 - UUID(即GUID)
			
UUID(GUID)是Cocoa Touch提供的一种生成唯一标识的机制.类型为CFUUIDRef的对象可以代表UUID,UUID是基于当前时间.计数器和硬件标识(通常是以太网卡的MAC地址)等数据计 ...
 - 微软认知服务:QnA Maker使用示例
			
简介 QnA Maker 从用户提供的内容(包括 FAQ URL.文档和编辑内容)中提取所有可能存在的问答对:利用易于使用的界面编辑.删除和添加问答对,然后将知识库作为 API 终结点进行发布:QnA ...
 - 运用Arc Hydro提取河网
			
Arc hydro 插件需要 spatial analyst 支持: 解决方法:Tools菜单>>Extensions...,勾选Spatial Analyst 1.设置存储路径 ApUt ...
 - sklearn函数白板
			
#使用make_classification构造500个样本,每个样本有20个feature from sklearn.datasets import make_classification X, y ...