SPRING+SHIRO集成配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
	xmlns:cache="http://www.springframework.org/schema/cache"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
	http://www.springframework.org/schema/util
	http://www.springframework.org/schema/util/spring-util-3.0.xsd
	http://www.springframework.org/schema/cache
	http://www.springframework.org/schema/cache/spring-cache.xsd
	">
	<!-- ehcache 的配置 -->
	<bean id="cacheManager"
		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
		<property name="configLocation">
			<value>classpath:ehcache.xml</value>
		</property>
	</bean>
	<bean id="shiroCacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager"> 
    	<property name="cacheManager" ref="cacheManager"/> 
    </bean>
	<!-- shiro的配置 -->
	<bean id="myShiroRealm" class="com.btlh.shiro.MyShiroRealm">
		<!--  用来实现用户名密码的查询 -->
		<property name="sysUserService" ref="sysUserService"></property>
		<property name="authenticationCacheName" value="shiroAuthorizationCache"></property>
	</bean>
	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
		<property name="cacheManager" ref="shiroCacheManager" />  
		<property name="realm" ref="myShiroRealm" />
		<property name="sessionManager" ref="sessionManager" />
	</bean>
	<bean id="shiroSessionDao" class="org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO" />
	<bean id="sessionManager"
		class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
		<!-- 超时时间 -->
		<property name="globalSessionTimeout" value="3600000" />
		<!-- session存储的实现 -->
		<property name="sessionDAO" ref="shiroSessionDao" />
		<!-- 定时检查失效的session -->
		<property name="sessionValidationSchedulerEnabled" value="true" />
	</bean>
	<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
	<bean id="formAuthenticationFilter"
		class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter" />
	<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="/index.jsp" />
		<property name="unauthorizedUrl" value="/error.jsp" />
		<property name="filters">
			<util:map>
				<entry key="authc" value-ref="formAuthenticationFilter" />
			</util:map>
		</property>
		<property name="filterChainDefinitions">
			<value>
				/Kaptcha.jpg = anon
				/scripts/** = anon
				/#section-bar-1 = anon
				/#section-bar-2 = anon
				/fonts/** = anon
				/style/** = anon
				/images/** anon
				/login.jsp = anon
				/sys/login.action = anon
				/** = authc
	       </value>
		</property>
	</bean>
	
</beans>


猜你喜欢

转载自erhuo.iteye.com/blog/2236647