All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codehaus.enunciate.modules.spring_app.security-context.xml.fmt Maven / Gradle / Ivy

[#ftl]
[@file name="security-context.xml"]
<?xml version="1.0" encoding="UTF-8"?>

<beans:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:oauth="http://spring-security-oauth.codehaus.org/2.0"
  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-2.0.xsd
              http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd
              http://spring-security-oauth.codehaus.org/2.0 http://spring-security-oauth.codehaus.org/schema/spring-security-oauth-2.0.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">

  <context:annotation-config/>
  [#if securityConfig.onAuthenticationFailed?exists && securityConfig.onAuthenticationFailed.redirectTo?exists]
    [#assign entryPointDefined=true/]

  <!-- entry point on authentication failed (redirect to "${securityConfig.onAuthenticationFailed.redirectTo}")-->
  <beans:bean id="enunciate-entry-point" class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint">
    <beans:property name="loginFormUrl" value="${securityConfig.onAuthenticationFailed.redirectTo}"/>
    <beans:property name="forceHttps" value="false"/>
    <beans:property name="serverSideRedirect" value="false"/>
  </beans:bean>
  [#elseif securityConfig.onAuthenticationFailed?exists && securityConfig.onAuthenticationFailed.useEntryPoint?exists]
    [#if securityConfig.onAuthenticationFailed.useEntryPoint.beanName?exists]
      [#assign entryPointDefined=true/]

  <!-- entry point on authentication failed. -->
  <beans:alias alias="enunciate-entry-point" name="${securityConfig.onAuthenticationFailed.useEntryPoint.beanName}"/>
    [#elseif securityConfig.onAuthenticationFailed.useEntryPoint.className?exists]
      [#assign entryPointDefined=true/]

  <!-- entry point on authentication failed. -->
  <beans:bean id="enunciate-entry-point"class="${securityConfig.onAuthenticationFailed.useEntryPoint.className}"/>
    [/#if]
  [#elseif securityConfig.enableDigestHTTPAuth]
    [#assign entryPointDefined=true/]

  <!-- entry point on authentication failed. (Ask for HTTP digest auth credentials.) -->
  <beans:bean id="enunciate-entry-point" class="org.springframework.security.ui.digestauth.DigestProcessingFilterEntryPoint">
    <beans:property name="realmName" value="${securityConfig.digestAuthConfig.realmName?default(securityConfig.realmName?default("Spring Security Application"))}"/>
    <beans:property name="key" value="${securityConfig.digestAuthConfig.key?default(securityConfig.key)}"/>
    [#if securityConfig.digestAuthConfig.nonceValiditySeconds?exists]
    <beans:property name="nonceValiditySeconds" nonceValiditySeconds="${securityConfig.digestAuthConfig.nonceValiditySeconds}"/>
    [/#if]
  </beans:bean>
  [#elseif securityConfig.enableBasicHTTPAuth]
    [#assign entryPointDefined=true/]

  <!-- entry point on authentication failed. (Ask for HTTP basic auth credentials.) -->
  <beans:bean id="enunciate-entry-point" class="org.springframework.security.ui.basicauth.BasicProcessingFilterEntryPoint">
    <beans:property name="realmName" value="${securityConfig.basicAuthConfig.realmName?default(securityConfig.realmName?default("Spring Security Application"))}"/>
  </beans:bean>
  [/#if]

  <http auto-config="false"[#if !securityConfig.initJ2EESecurityContext] servlet-api-provision="false"[/#if][#if securityConfig.onAccessDenied?exists && securityConfig.onAccessDenied.redirectTo?exists] access-denied-page="${securityConfig.onAccessDenied.redirectTo}"[/#if][#if entryPointDefined?exists && entryPointDefined] entry-point-ref="enunciate-entry-point"[/#if][#if securityConfig.realmName?exists] realm="${securityConfig.realmName}"[/#if]>
  [#list securityConfig.secureUrls?keys as pattern]
    [#if securityConfig.secureUrls[pattern]?exists]
    <intercept-url pattern="${servletPatternToAntPattern(pattern)}" access="${securityConfig.secureUrls[pattern]}"/>
    [/#if]
  [/#list]
    <intercept-url pattern="/**"/>

  [#if securityConfig.enableFormBasedLogout]
    <logout logout-success-url="${securityConfig.formBasedLogoutConfig.redirectOnSuccessUrl}" logout-url="${securityConfig.formBasedLogoutConfig.url}"/>
  [/#if]
  [#if securityConfig.enableBasicHTTPAuth]
    <http-basic/>
  [/#if]
  [#if securityConfig.enableFormBasedLogin]
    <form-login authentication-failure-url="${securityConfig.formBasedLoginConfig.redirectOnFailureUrl}" default-target-url="${securityConfig.formBasedLoginConfig.redirectOnSuccessUrl}" login-page="${securityConfig.formBasedLoginConfig.loginPageURL}" login-processing-url="${securityConfig.formBasedLoginConfig.url}"/>
  [/#if]
  [#if securityConfig.enableRememberMeToken]
    <remember-me key="${securityConfig.rememberMeConfig.key?default(securityConfig.key)}"/>
  [/#if]
  [#if securityConfig.loadAnonymousIdentity]
    <anonymous key="${securityConfig.anonymousConfig.key?default(securityConfig.key)}" username="${securityConfig.anonymousConfig.userId?default("anonymous")}" granted-authority="${securityConfig.anonymousConfig.roles?default("ROLE_ANONYMOUS")}"/>
  [/#if]
  </http>
  [#if securityConfig.additionalAuthenticationFilters?exists]
    [#list securityConfig.additionalAuthenticationFilters as filter]
      [#if filter.beanName?exists]

  <beans:bean parent="${filter.beanName}">
      [#elseif filter.className?exists]

  <beans:bean class="${filter.className}">
      [/#if]
    <custom-filter before="PRE_AUTH_FILTER"/>
  </beans:bean>
    [/#list]
  [/#if]
  [#if securityConfig.enableDigestHTTPAuth]

  <beans:bean class="org.springframework.security.ui.digestauth.DigestProcessingFilter">
    <custom-filter position="BASIC_PROCESSING_FILTER"/>
  </beans:bean>
  [/#if]
  [#if securityConfig.enableOAuth]

  <!-- Define the OAuth provider.  For more information, see http://spring-security-oauth.codehaus.org/userguide.html -->
  <oauth:provider
    request-token-url="${securityConfig.OAuthConfig.requestTokenURL}"
    authenticate-token-url="${securityConfig.OAuthConfig.grantAccessURL}"
    authentication-failed-url="${securityConfig.OAuthConfig.accessConfirmationURL}"
    access-granted-url="${securityConfig.OAuthConfig.accessConfirmedURL}"
    access-token-url="${securityConfig.OAuthConfig.accessTokenURL}"/>

    [#if securityConfig.OAuthConfig.tokenServices?exists && securityConfig.OAuthConfig.tokenServices.className?exists]
  <beans:bean class="${securityConfig.OAuthConfig.tokenServices.className}"/>
    [/#if]
    [#if securityConfig.OAuthConfig.consumerDetailsService?exists && securityConfig.OAuthConfig.consumerDetailsService.className?exists]
  <beans:bean class="${securityConfig.OAuthConfig.consumerDetailsService.className}"/>
    [/#if]

  <!--The filter that ensures that the user is authenticated before allowing the confirm access page.-->
  <beans:bean id="oauthConfirmAccessFilter" class="org.codehaus.enunciate.modules.spring_app.OAuthConfirmAccessFilter">
    <custom-filter after="EXCEPTION_TRANSLATION_FILTER"/>
    <beans:property name="confirmAccessUrl" value="${securityConfig.OAuthConfig.accessConfirmationURL}"/>
    <beans:property name="accessConfirmedUrl" value="${securityConfig.OAuthConfig.accessConfirmedURL}"/>
  </beans:bean>
  [/#if]
  [#if !securityConfig.disableDefaultProvider]
    [#if securityConfig.userDetailsService?exists && securityConfig.userDetailsService.beanName?exists]

  <authentication-provider user-service-ref="${securityConfig.userDetailsService.beanName}"/>
    [#elseif securityConfig.userDetailsService?exists && securityConfig.userDetailsService.className?exists]

  <beans:bean id="enunciate-user-details" class="${securityConfig.userDetailsService.className}"/>
  <authentication-provider user-service-ref="enunciate-user-details"/>
    [#else]

  <beans:bean id="enunciate-auth-provider" class="org.codehaus.enunciate.modules.spring_app.DefaultEnunciateAuthenticationProvider">
    <custom-authentication-provider/>
  </beans:bean>
    [/#if]
  [/#if]

  <!-- service method interceptor (used to lock down the service methods.)-->
  <authentication-manager alias="authenticationManager"/>
  <beans:bean id="enunciate-security-interceptor" class="org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor">
    <beans:property name="authenticationManager" ref="authenticationManager"/>
    <beans:property name="accessDecisionManager">
      <beans:bean class="org.springframework.security.vote.AffirmativeBased">
        <beans:property name="allowIfAllAbstainDecisions" value="true"/>
        <beans:property name="decisionVoters">
          <beans:list>
            <beans:bean class="org.codehaus.enunciate.modules.spring_app.JSR250Voter"/>
  [#if securityConfig.enableOAuth]
            <beans:bean class="org.springframework.security.oauth.provider.attributes.ConsumerSecurityVoter"/>
  [/#if]
          </beans:list>
        </beans:property>
      </beans:bean>
    </beans:property>
    <beans:property name="objectDefinitionSource">
      <beans:bean class="org.springframework.security.intercept.method.MethodDefinitionAttributes">
        <beans:property name="attributes">
          <beans:bean class="org.codehaus.enunciate.modules.spring_app.WebMethodSecurityAnnotationAttributes">
            <beans:constructor-arg>
              <!-- List of the security attributes that are supported by Enunciate. -->
              <beans:list>
                <!-- JSR 250 attributes -->
                <beans:bean class="org.codehaus.enunciate.modules.spring_app.JSR250SecurityAnnotationAttributes"/>
  [#if securityConfig.enableOAuth]
                <!-- OAuth security attributes -->
                <beans:bean class="org.springframework.security.oauth.provider.attributes.ConsumerSecurityAnnotationAttributes"/>
  [/#if]
              </beans:list>
            </beans:constructor-arg>
          </beans:bean>
        </beans:property>
      </beans:bean>
    </beans:property>
    <beans:property name="rejectPublicInvocations" value="false"/>
  </beans:bean>

  <!-- utility for programatic login/logout -->
  <beans:bean id="loginLogoutHelper" class="org.codehaus.enunciate.modules.spring_app.LoginLogoutHelperImpl"/>

  <!-- utility to use to determine if an exception that was thrown is auth failed or access denied. -->
  <beans:bean id="securityChecker" class="org.codehaus.enunciate.modules.spring_app.SpringSecurityExceptionChecker"/>

  <!-- the error handler for the application -->
  <beans:bean id="securityExceptionResolver" class="org.codehaus.enunciate.modules.spring_app.SecurityAwareExceptionHandler"/>

</beans:beans>
[/@file]




© 2015 - 2025 Weber Informatics LLC | Privacy Policy