| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- <?xml version="1.0" encoding="UTF-8"?>
 
- <beans xmlns="http://www.springframework.org/schema/beans"
 
- 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
- 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
 
- 	default-lazy-init="true">
 
- 	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
 
- 		<property name="realm" ref="shiroDbRealm" />
 
- 		<property name="cacheManager" ref="shiroEhcacheManager" />
 
- 		<property name="sessionManager" ref="sessionManager"></property>
 
- 	</bean>
 
- 	<bean id="sessionManager"
 
- 		class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
 
- 		<property name="sessionDAO" ref="sessionDAO" />
 
- 		<property name="sessionValidationScheduler" ref="sessionValidationScheduler" />
 
- 		<property name="globalSessionTimeout" value="86400000" />
 
- 		<property name="sessionIdCookie" ref="sharesession" />
 
- 		<property name="sessionValidationSchedulerEnabled" value="true" />
 
- 		<property name="deleteInvalidSessions" value="true" />
 
- 	</bean>
 
- 	<bean id="sharesession" class="org.apache.shiro.web.servlet.SimpleCookie">
 
- 		<!-- cookie的name,对应的默认是 JSESSIONID -->
 
- 		<constructor-arg name="name" value="SHAREJSESSIONID_PROJECTS" />
 
- 		<!-- jsessionId的path为 / 用于多个系统共享jsessionId -->
 
- 		<property name="path" value="/" />
 
- 		<property name="httpOnly" value="true" />
 
- 		<!-- <property name="domain" value=".nrbang.net" /> -->
 
- 	</bean>
 
- 	
 
- 	<bean id="sessionDAO" class="com.team.security.MCSessionDAO">
 
- 		<property name="client" ref="memcachedClient"></property>
 
- 	</bean>
 
- 	
 
- 	<bean id="sessionValidationScheduler"
 
- 		class="org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler">
 
- 		<property name="interval" value="1800000" />
 
- 		<property name="sessionManager" ref="sessionManager"></property>
 
- 	</bean>
 
- 	<!-- 用户授权信息Cache, 采用EhCache -->
 
- 	<bean id="shiroEhcacheManager" class="com.team.cache.memcached.MemcachedCacheManager">
 
- 		<property name="simpleCacheManager" ref="simpleCacheManager"></property>
 
- 	</bean>
 
- 	<bean id="simpleCacheManager" class="com.team.cache.memcached.SimpleCacheManagerImpl">
 
- 		<property name="memcachedClient" ref="memcachedClient"></property>
 
- 	</bean>
 
- <!-- depends-on="resourceOperateDao,operateDao,resourceDao" -->
 
- 	<bean id="chainDefinitionSectionMetaSource" class="com.team.security.ChainDefinitionSectionMetaSource">
 
- 		<property name="filterChainDefinitions">
 
- 			<value>
 
- 				/html/**=authc
 
- 				/register=authc
 
- 				/login=authc
 
- 				/logout=logout
 
- 			</value>
 
- 		</property>
 
- 	</bean>
 
- 	<!-- 自定义的Filter -->
 
- 	<!-- 自定义的Realm -->
 
- 	<bean id="shiroDbRealm" class="com.team.security.ShiroDbRealm">
 
- 		<!-- <property name="client" ref="xMemcachedClient" /> -->
 
- 		<!-- depends-on="roleDao,resourceOperateDao,operateDao,resourceDao,userDao,xMemcachedClient" -->
 
- 	</bean>
 
- 	<!-- Shiro Filter -->
 
- 	<bean id="shiroFilter" class="com.team.security.EcShiroFilterFactoryBean">
 
- 		<!-- shiro的核心安全接口 -->
 
- 		<property name="securityManager" ref="securityManager" />
 
- 		<!-- 要求登录时的链接 -->
 
- 		<property name="loginUrl" value="/" />
 
- 		<!-- 登陆成功后要跳转的连接 -->
 
- 		<property name="successUrl" value="/index" />
 
- 		<!-- 未授权时要跳转的连接 -->
 
- 		<property name="unauthorizedUrl" value="/view/error/error.jsp" />
 
- 		<!-- shiro连接约束配置,在这里使用自定义的动态获取资源类 -->
 
- 		<property name="filterChainDefinitionMap" ref="chainDefinitionSectionMetaSource" />
 
- 	</bean>
 
- 	<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
 
- 	<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
 
- 	<bean
 
- 		class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
 
- 		<property name="securityManager" ref="securityManager" />
 
- 	</bean>
 
- </beans>
 
 
  |