applicationContext-security.xml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:s="http://www.springframework.org/schema/security"
  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. default-lazy-init="true">
  7. <description>SpringSecurity安全配置</description>
  8. <!-- http安全配置 -->
  9. <s:http auto-config="true" use-expressions="true">
  10. <s:intercept-url pattern="/favicon.ico" filters="none" />
  11. <s:intercept-url pattern="/css/**" filters="none" />
  12. <s:intercept-url pattern="/img/**" filters="none" />
  13. <s:intercept-url pattern="/js/**" filters="none" />
  14. <s:intercept-url pattern="/system/user!changePassword*" access="isAuthenticated()" />
  15. <s:intercept-url pattern="/system/**" access="hasAnyRole('ROLE_ADMIN')" />
  16. <s:intercept-url pattern="/product/**" access="hasAnyRole('ROLE_ADMIN')" />
  17. <s:intercept-url pattern="/login.action*" filters="none" />
  18. <s:intercept-url pattern="/*" access="isAuthenticated()" />
  19. <s:form-login login-page="/login.action" default-target-url="/" authentication-failure-url="/login.action?error=1" />
  20. <s:logout logout-success-url="/login.action" />
  21. <s:session-management invalid-session-url="/login.action?error=3">
  22. <s:concurrency-control max-sessions="10" error-if-maximum-exceeded="false" />
  23. </s:session-management>
  24. <s:custom-filter after="SECURITY_CONTEXT_FILTER" ref="autoLoginFilter" />
  25. </s:http>
  26. <!-- 方法安全配置 -->
  27. <s:global-method-security secured-annotations="enabled" />
  28. <!-- 认证配置,如果需要加密密码,请设置hash=sha,并修改UserDetailsServiceImpl -->
  29. <s:authentication-manager alias="authenticationManager">
  30. <s:authentication-provider user-service-ref="userDetailsService">
  31. <s:password-encoder hash="plaintext" />
  32. </s:authentication-provider>
  33. </s:authentication-manager>
  34. <!-- 项目实现的用户查询服务 -->
  35. <bean id="userDetailsService" class="com.pentair.showcase.security.UserDetailsServiceImpl" />
  36. <!-- 开发时自动登录的filter -->
  37. <bean id="autoLoginFilter" class="com.pentair.showcase.security.AutoLoginFilter">
  38. <property name="enabled" value="${security.autologin.enabled}" />
  39. <property name="defaultUserName" value="am" />
  40. </bean>
  41. <!--JCaptcha验证码服务 -->
  42. <bean id="captchaService" class="com.octo.captcha.service.image.DefaultManageableImageCaptchaService">
  43. <property name="captchaEngine">
  44. <bean class="org.springside.modules.security.jcaptcha.GMailEngine" />
  45. </property>
  46. <!--
  47. 默认生成的图片180秒过期 , 可另行设置
  48. <property name="minGuarantedStorageDelayInSeconds" value="180" />
  49. -->
  50. </bean>
  51. </beans>