applicationContext-security.xml 4.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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-3.0.xsd
  11. http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.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. <sec:authentication-provider ref='preAuthenticatedAuthenticationProvider'/>
  20. </sec:authentication-manager>
  21. <bean id="preAuthenticatedAuthenticationProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
  22. <property name="preAuthenticatedUserDetailsService" ref="preAuthenticatedUserDetailsService"/>
  23. </bean>
  24. <bean id="preAuthenticatedUserDetailsService"
  25. class="org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService"/>
  26. <bean id="j2eePreAuthFilter" class="org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter">
  27. <property name="authenticationManager" ref="authenticationManager"/>
  28. <property name="authenticationDetailsSource">
  29. <bean class="org.springframework.security.web.authentication.preauth.j2ee.J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource">
  30. <property name="mappableRolesRetriever">
  31. <bean class="org.springframework.security.web.authentication.preauth.j2ee.WebXmlMappableAttributesRetriever" />
  32. </property>
  33. <property name="userRoles2GrantedAuthoritiesMapper">
  34. <bean class="org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper">
  35. <property name="convertAttributeToUpperCase" value="true"/>
  36. </bean>
  37. </property>
  38. </bean>
  39. </property>
  40. </bean>
  41. <bean id="preAuthenticatedProcessingFilterEntryPoint"
  42. class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>
  43. <bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
  44. <constructor-arg value="/"/>
  45. <constructor-arg>
  46. <list>
  47. <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"/>
  48. </list>
  49. </constructor-arg>
  50. </bean>
  51. <bean id="servletContext" class="org.springframework.web.context.support.ServletContextFactoryBean"/>
  52. <bean id="etf" class="org.springframework.security.web.access.ExceptionTranslationFilter">
  53. <property name="authenticationEntryPoint" ref="preAuthenticatedProcessingFilterEntryPoint"/>
  54. </bean>
  55. <bean id="httpRequestAccessDecisionManager" class="org.springframework.security.access.vote.AffirmativeBased">
  56. <property name="allowIfAllAbstainDecisions" value="false"/>
  57. <property name="decisionVoters">
  58. <list>
  59. <ref bean="roleVoter"/>
  60. </list>
  61. </property>
  62. </bean>
  63. <bean id="fsi" class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor">
  64. <property name="authenticationManager" ref="authenticationManager"/>
  65. <property name="accessDecisionManager" ref="httpRequestAccessDecisionManager"/>
  66. <property name="securityMetadataSource">
  67. <sec:filter-invocation-definition-source>
  68. <sec:intercept-url pattern="/secure/extreme/**" access="ROLE_SUPERVISOR"/>
  69. <sec:intercept-url pattern="/secure/**" access="ROLE_USER"/>
  70. <sec:intercept-url pattern="/**" access="ROLE_USER"/>
  71. </sec:filter-invocation-definition-source>
  72. </property>
  73. </bean>
  74. <bean id="roleVoter" class="org.springframework.security.access.vote.RoleVoter"/>
  75. <bean id="securityContextHolderAwareRequestFilter" class="org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter">
  76. <property name="wrapperClass" value="org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestWrapper"/>
  77. </bean>
  78. </beans>