Frühjahr: Aktivieren Sie die Globale Methode, die Sicherheit in der Controller-Schicht von java-config

Ich versuche zu migrieren meine xml-servlet-config java-config.

Den unter config ist meine servlet-Konfiguration, die es ermöglicht, benutzerdefinierte Sicherheits-Anmerkungen auf der Controller-Schicht.

<security:global-method-security pre-post-annotations="enabled">
    <security:expression-handler ref="expressionHandler"/>
</security:global-method-security>

<bean id="expressionHandler" class="yyy.MyMethodSecurityExpressionHandler" />

Habe ich auch eine funktionierende spring security-xml-Konfiguration, um ersetzt zu werden durch java-config, aber nicht jetzt. Hier einige Stücke meiner Sicherheit config:

<bean id="authenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
        <property name="userDetailsService" ref="userDetailsService" />
    </bean>

<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
    <constructor-arg>
         <ref bean="authenticationProvider"/>
    </constructor-arg>
</bean>

<security:authentication-manager>
    <security:authentication-provider user-service-ref="userDetailsService" />
</security:authentication-manager>

<security:global-method-security pre-post-annotations="enabled" />

Will ich beginnen zu migrieren, meine servlet config aktivieren der Sicherheit @PreAuthorize und @PostAuthorize tag in der Controller-Schicht.

Habe ich gefunden, diese Anmerkung: @EnableGlobalMethodSecurity(prePostEnabled=true), sondern setzen es auf meinem servlet config:

@Configuration
@ComponentScan(basePackages= {
        "....."         
})
@EnableGlobalMethodSecurity(prePostEnabled=true)

public class WebappServletConfig extends WebMvcConfigurationSupport {

Bekomme ich diese exception:

java.lang.IllegalArgumentException: Expecting to only find a single bean for type interface org.springframework.security.authentication.AuthenticationManager, but found []

Außerdem weiß ich nicht, wie ich meinen benutzerdefinierten Ausdruck-handler!

jemand ein paar Tipps? Danke

InformationsquelleAutor gipinani | 2014-02-04

Schreibe einen Kommentar