2013-09-02 7 views
5

Dopo l'aggiornamento a Spring Security 3.2.0.RC1 Ricevo l'avviso "Metodo 'setFilterProcessesUrl' è contrassegnato come deprecato" per <http auto-config="true"> nella mia configurazione xml. Ottengo questo avvertimento anche per una configurazione molto semplice:Spring Security 3.2.0.RC1 - <http> element e metodo deprecato

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

    <http auto-config="true"> 
     <intercept-url pattern="/myurl*" access="ROLE_USER" /> 
    </http> 

    <authentication-manager> 
     <authentication-provider> 
      <user-service> 
       <user name="user1" password="12345" authorities="ROLE_USER" /> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 

</beans:beans> 


Secondo Primavera di sicurezza 3.2 API documentationsetFilterProcessesUrl è deprecato e setRequiresAuthenticationRequestMatcher (RequestMatcher) dovrebbe essere utilizzato al posto. Come posso modificare questa configurazione XML di base, quindi non utilizzare metodi deprecati? Uso Eclipse Kepler con il plug-in Spring Tool Suite.

UPDATE:

Se rimuovo <http auto-config="true"> e aggiungi <form-login /> all'elemento http

<http> 
    <intercept-url pattern="/myurl*" access="ROLE_USER" /> 
    <form-login /> 
</http> 

Ho anche il "Metodo 'setFilterProcessesUrl' è contrassegnato come deprecato" avvertimento e se aggiungo <logout /> I ricevi lo stesso avvertimento la seconda volta D'altra parte, se sostituisco <form-login /> e <logout /> con <http-basic />, gli avvisi scompaiono.

+0

Lo stesso problema con Spring Security 3.2.0.RC2. Davvero non capisco, perché dovrebbero deprecare un metodo che è ancora usato dal proprio spazio dei nomi? L'unica soluzione per ora sembra tornare alla 3.2.0.M2. – John29

risposta

2

Risolto in Spring Security 3.2.1. Gli avvertimenti erano causati dallo spazio dei nomi XML che utilizzava un metodo deprecato. https://jira.springsource.org/browse/SEC-2455

+0

Grazie per questa risposta. Alla ricerca di una soluzione su come risolvere questo problema. –

2

Se si utilizza lo spazio dei nomi, un errore IDE come questo non ha molta importanza, poiché è possibile garantire che Spring Security supporterà la funzionalità. In realtà non stai usando il metodo tu stesso.

auto-config è una cattiva idea in generale. Qualcuno che osserva quella configurazione non saprà facilmente cosa fa effettivamente. Vuoi veramente l'autenticazione di base, per esempio? È meglio rimuovere auto-config e aggiungere esplicitamente le funzionalità desiderate.

+1

Grazie Luke, hai ragione sul fatto che 'auto-config 'sia una cattiva idea, l'ho usato nel mio esempio per renderlo meno dettagliato. L'ho sostituito con '' e '' ma gli avvertimenti sono ancora lì. Capisco che un avvertimento è solo un avvertimento, ma se c'è un modo per sistemarlo, preferirei farlo, soprattutto perché è l'unico avvertimento nel mio progetto e non l'ho capito con Spring Security 3.2. 0.M2. – John29