SSM整合shiro相关配置
- 首先要在pom.xml文件中添加shiro相关依赖shiro-all,这个依赖包含了shiro-web,shiro-core,shiro-spring,shiro-ehcache…等一系列jar包,所以这里只用添加这一个依赖就够了
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-all</artifactId>
<version>1.2.2</version>
</dependency>
一般shiro都会用到ehcache缓存还需要添加ehcache依赖
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>2.6.8</version>
</dependency>
- 配置web.xml,shiro核心过滤器,所有的请求都会在这里被拦截,这里的一定要和下面spring-shiro.xml配置文件中的过滤器名字保持一致
<!-- 这里需要加载spring-shiro.xml配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mybatis.xml,classpath:spring-shiro.xml</param-value>
</context-param>
...
<!-- shiro过虑器,DelegatingFilterProxy会从spring容器中找shiroFilter -->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- spring-shiro.xml相关配置,shiro的核心配置文件
<!-- 1.凭证匹配器 -->
<!-- 这里的凭证指的是对登录用户的密码进行md5加密,hashIterations是散列加密次数,可以是任意次数,但每次加密的时候一定要保持一致 -->
<bean id="credentialsMatcher"
class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<property name="hashAlgorithmName" value="md5" />
<property name="hashIterations" value="1024" />
</bean>
<!-- 2.Realm实现 -->
<!-- 自定义Realm,自己写一个Java类,继承AuthorizingRealm,重写父类的两个方法,具体Realm的写法下面有详细介绍,class指定Realm类的全路径,引入上面的凭证匹配器 -->
<bean id=