Apache Shiro 使用手册(五) Shiro 配置说明
发布时间:2021-04-12 19:12:50
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 |
猜你喜欢
- FlashFXP是一款优秀的FTP工具,但是很多朋友在使用过程中仅掌握其基本的上传/下载功能,其实在FlashFXP里面隐藏了很多实用的技巧
- 声明:本人从一个对电脑什么都不懂的菜鸟,到今天从事IT工作的从业人员,除参加基本培训班学习基本的东西之外,其它基本上都是自学,写此文章的目的
- 最近在弄一个网站的易用性评估项目,就我个人体会,总结下糟糕的网站用户体验基本上会产生六大感受:1、不安感:网站在流程方面应该让用户在每次点击
- 如果臧家宜不是在故弄玄虚,扰乱视听,那郭台铭的风光日子可能即将到头。在台湾,鸿海的股价已经因自家掌门人 * 被查的消息而受挫,即便爆料者已经因
- Linux 检测服务器是否连接着网络摘要: 每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由
- 本文简单介绍怎样登录Godaddy账户,并将Godaddy账户中的主要内容翻译为中文供大家参考第一:访问Godaddy的网站:Godaddy
- 如果问哪种FTP服务器最安全?那么在Unix和Linux中,首推的就是vsftpd(Very Secure FTP Daemon,非常安全的
- 1、做友情链接要有的放矢。不能够乱撒网!做友情链接就要做和我们自己网站内容相关的网站的链接!这就和国家确定自己的外交政策一样,和自己国家的政
- 北京时间10月24日消息,据国外媒体报道,美国加州北区联邦地方法院法官杰米里·福格尔(Jeremy Fogel)周四作出裁决,称美国社交网站
- 人们或许都有这样一个困惑:计算机在网络上通讯时本来只能识别如“123.123.123.123”之类的数字地址,那么为什么当我们打开浏览器,在
- 看了不少的网站改版方案,发现目前大多网站在改版的时候,着重对网站的设计、功能、内容管理系统的投入,而忽略了对已有流量的保持,至于搜索引擎的可
- 百度Hi的产品还可以,不过确实如白鸦所言,“IM这个领域已经相对成熟,很难真正的创新”。百度的产品,应该说在中文互联网中一直保持很高水平,其
- CCTV的新闻联播在2007年12月27日播出一段抨击不良网络视听节目的报道,其中采访了一个名叫张殊凡的女学生,这个叫张殊凡的孩子语出惊人,
- 博客已成为很多站长的首选,它可以聚集一群有着共同好的朋友,而且,还不用像网站那样的费神。wordpress是目前比较流行的博客系统之一,wo
- 由phpwind团队与淘宝图片导购联盟合作开发的“图片导购应用”近日正式发布,“图片导购应用”给站长带来了全新的盈利模式,利用“图片导购应用
- 个人做站长不容易,每天对着电脑,把网站当成自己孩子,每天悉心照料,更新内容,做宣传,看到哪里美工没做好,不管有没有吃饭,立刻改;有人反映哪里
- 淘宝会员一次注册,两种身份!今起,淘宝网1.45亿会员将无需注册,即可直接登入淘宝网以外的电子商务平台进行购物啦!据了解,近期淘宝网开放了外
- 在进行双机热备、集群及高可用性软件产品的选择时,可按以下步骤进行:1. 明确应用的方式与要求:是双机方式还是多点集群?或者是目前使用双机、以
- 10月22日消息,日前,酷6网成为2010年上海世博会“世博公关新星”评选活动视频网站合作伙伴,将与
- 做站也有一段时间了,总的来说,从开始建站到现在,一路的辛酸与快乐只有自己心里清楚,但是,走过来的站长之路也只是重复其它的站长的脚步而已,最近