applicationContext-security.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. - Sample namespace-based configuration
  4. -
  5. - $Id: applicationContext-security-ns.xml 2396 2007-12-23 16:36:44Z luke_t $
  6. -->
  7. <beans xmlns="http://www.springframework.org/schema/beans"
  8. xmlns:sec="http://www.springframework.org/schema/security"
  9. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  10. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  11. http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.1.xsd">
  12. <bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
  13. <sec:filter-chain-map path-type="ant">
  14. <sec:filter-chain pattern="/**" filters="sif,j2eePreAuthFilter,logoutFilter,etf,fsi"/>
  15. </sec:filter-chain-map>
  16. </bean>
  17. <bean id="sif" class="org.springframework.security.web.context.SecurityContextPersistenceFilter"/>
  18. <sec:authentication-manager alias="authenticationManager" />
  19. <bean id="preAuthenticatedAuthenticationProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
  20. <sec:custom-authentication-provider />
  21. <property name="preAuthenticatedUserDetailsService" ref="preAuthenticatedUserDetailsService"/>
  22. </bean>
  23. <bean id="preAuthenticatedUserDetailsService"
  24. class="org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService"/>
  25. <bean id="j2eePreAuthFilter" class="org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter">
  26. <property name="authenticationManager" ref="authenticationManager"/>
  27. <property name="authenticationDetailsSource" ref="authenticationDetailsSource"/>
  28. </bean>
  29. <bean id="preAuthenticatedProcessingFilterEntryPoint"
  30. class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>
  31. <bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
  32. <constructor-arg value="/"/>
  33. <constructor-arg>
  34. <list>
  35. <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"/>
  36. </list>
  37. </constructor-arg>
  38. </bean>
  39. <bean id="authenticationDetailsSource" class="org.springframework.security.web.authentication.preauth.j2ee.J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource">
  40. <property name="mappableRolesRetriever" ref="j2eeMappableRolesRetriever"/>
  41. <property name="userRoles2GrantedAuthoritiesMapper" ref="j2eeUserRoles2GrantedAuthoritiesMapper"/>
  42. </bean>
  43. <bean id="j2eeUserRoles2GrantedAuthoritiesMapper" class="org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper">
  44. <property name="convertAttributeToUpperCase" value="true"/>
  45. </bean>
  46. <bean id="j2eeMappableRolesRetriever" class="org.springframework.security.web.authentication.preauth.j2ee.WebXmlMappableAttributesRetriever">
  47. <property name="webXmlInputStream"><bean factory-bean="webXmlResource" factory-method="getInputStream"/>
  48. </property>
  49. </bean>
  50. <bean id="webXmlResource" class="org.springframework.web.context.support.ServletContextResource">
  51. <constructor-arg ref="servletContext"/>
  52. <constructor-arg value="/WEB-INF/web.xml"/>
  53. </bean>
  54. <bean id="servletContext" class="org.springframework.web.context.support.ServletContextFactoryBean"/>
  55. <bean id="etf" class="org.springframework.security.web.access.ExceptionTranslationFilter">
  56. <property name="authenticationEntryPoint" ref="preAuthenticatedProcessingFilterEntryPoint"/>
  57. </bean>
  58. <bean id="httpRequestAccessDecisionManager" class="org.springframework.security.access.vote.AffirmativeBased">
  59. <property name="allowIfAllAbstainDecisions" value="false"/>
  60. <property name="decisionVoters">
  61. <list>
  62. <ref bean="roleVoter"/>
  63. </list>
  64. </property>
  65. </bean>
  66. <bean id="fsi" class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor">
  67. <property name="authenticationManager" ref="authenticationManager"/>
  68. <property name="accessDecisionManager" ref="httpRequestAccessDecisionManager"/>
  69. <property name="securityMetadataSource">
  70. <sec:filter-invocation-definition-source>
  71. <sec:intercept-url pattern="/secure/extreme/**" access="ROLE_SUPERVISOR"/>
  72. <sec:intercept-url pattern="/secure/**" access="ROLE_USER"/>
  73. <sec:intercept-url pattern="/**" access="ROLE_USER"/>
  74. </sec:filter-invocation-definition-source>
  75. </property>
  76. </bean>
  77. <bean id="roleVoter" class="org.springframework.security.access.vote.RoleVoter"/>
  78. <bean id="securityContextHolderAwareRequestFilter" class="org.springframework.security.web.wrapper.SecurityContextHolderAwareRequestFilter">
  79. <property name="wrapperClass" value="org.springframework.security.web.wrapper.SecurityContextHolderAwareRequestWrapper"/>
  80. </bean>
  81. </beans>