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>
|