applicationContext-shiro.xml 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:util="http://www.springframework.org/schema/util"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  5. http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd
  6. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
  7. default-lazy-init="true">
  8. <description>Shiro安全配置</description>
  9. <bean id="shiroDbRealm" class="com.key.common.plugs.security.ShiroDbRealm" />
  10. <!-- <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
  11. <property name="realm" ref="shiroDbRealm" />
  12. <property name="rememberMeManager" ref="rememberMeManager"/>
  13. </bean>
  14. -->
  15. <bean id="securityManager" class="com.key.common.plugs.security.MyDefaultWebSecurityManager">
  16. <property name="realm" ref="shiroDbRealm" />
  17. <property name="rememberMeManager" ref="rememberMeManager"/>
  18. </bean>
  19. <bean id="formAuthFilter" class="com.key.common.plugs.security.FormAuthenticationWithLockFilter">
  20. <property name="maxLoginAttempts" value="100"/>
  21. <property name="successAdminUrl" value="/main.action?menu=3"/>
  22. <property name="successAdminRole" value="admin"/>
  23. <property name="rememberMeParam" value="rememberMe"/>
  24. </bean>
  25. <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
  26. <property name="securityManager" ref="securityManager" />
  27. <property name="loginUrl" value="/login.jsp" />
  28. <property name="successUrl" value="/design/my-survey.action" />
  29. <property name="unauthorizedUrl" value="/login.jsp?una=0" />
  30. <property name="filters">
  31. <util:map>
  32. <entry key="authc" value-ref="formAuthFilter">
  33. </entry>
  34. </util:map>
  35. </property>
  36. <property name="filterChainDefinitions">
  37. <value>
  38. /login.jsp = authc
  39. /ic/** = user
  40. /design/** = user
  41. /da/** = user
  42. /sy/** = roles[admin]
  43. </value>
  44. </property>
  45. </bean>
  46. <bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager" />
  47. <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
  48. <!-- 使用记住我功能 -->
  49. <!-- 会话Cookie模板 -->
  50. <bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
  51. <constructor-arg value="sid"/>
  52. <property name="httpOnly" value="true"/>
  53. <property name="maxAge" value="-1"/>
  54. </bean>
  55. <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
  56. <constructor-arg value="rememberMe"/>
  57. <property name="httpOnly" value="true"/>
  58. <property name="maxAge" value="2592000"/><!-- 30天 (maxAge=-1表示浏览器关闭时失效) -->
  59. </bean>
  60. <!-- rememberMe管理器 -->
  61. <bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager">
  62. <property name="cipherKey" value="#{T(org.apache.shiro.codec.Base64).decode('4AvVhmFLUs0KTA3Kprsdag==')}"/>
  63. <property name="cookie" ref="rememberMeCookie"/>
  64. </bean>
  65. </beans>