《跟我学shiro》随笔(2)

本文介绍了Shiro在Web应用中的集成使用,包括基础配置、shiroFilter的三种配置方式、shiro.ini文件详解、URL通配符、登录与权限验证的拦截器机制,以及Shiro的JSP标签库的使用方法,如用户角色和权限的显示控制。
摘要由CSDN通过智能技术生成

shiro与Web的集成使用

一个基础的shiro应用

依赖

要想在webapp中使用shiro,必须要导入servlet和shiro-web的依赖

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.2</version>
</dependency>

shiroFilter入口

第一种配置方法用于1.1及以前版本,在web.xml中写入:

<filter>
<filter-name>iniShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
<init-param>
<param-name>configPath</param-name>
<param-value>classpath:shiro.ini</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>iniShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

第二种是将sgiro.ini的内容内嵌到web.xml中:

<init-param>
<param-name>config</param-name>
<param-value>
ini 配置文件贴在这
</param-value>
</init-param>

第三种方法适用于1.2及以后版本,因为引入了Environment/WebEnvironment概念,shirofilter会自动找到Environment然后获取响应的依赖:

<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>  

在第三种方法的基础上加入如下配置信息修改默认文件加载路径:

<context-param>
<param-name>shiroEnvironmentClass</param-name>
<param-value>org.apache.shiro.web.env.IniWebEnvironment</param-value>
</context-param>
<context-param>
<param-name>shiroConfigLocations</param-name>
<param-value>classpath:shiro.ini</param-value>
</context-param>

shiro.ini在Webapp下的不同之处

先来看一个标准的ini配置:

[main]
#默认是/login.jsp
authc.loginUrl=/login
roles.unauthorizedUrl=/unauthorized
perms.unauthorizedUrl=/unauthorized
[users]
zhang=123,admin
wang=123
[roles]
admin=user:*,menu:*
[urls]
/login=anon
/unauthorized=anon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值