2014-11-06 3 views
7

Da quando ci si sposta a Spring Security 3.2.5.RELEASE e Spring 4.1.1.RELEASE viene visualizzato un avviso di convalida del bean Spring in Eclipse (Luna).Avviso di sicurezza Spring: Class AuthorityUtils è astratto?

L'avvertimento esatta è:

Class 'org.springframework.security.core.authority.AuthorityUtils' is abstract

Ecco l'intestazione al file Primavera:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:springsecurity="http://www.springframework.org/schema/security" 
    xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd 
     http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd 
     http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
     http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"> 

La parte incriminata di configurazione è la seguente (il che significa che se tolgo questa sezione In particolare, se rimuovo la stanza springsecurity:authentication-provider:

<springsecurity:authentication-manager alias="authenticationManager"> 
    <springsecurity:authentication-provider> 
     <springsecurity:user-service> 
      <springsecurity:user name="john" password="john" 
       authorities="ROLE_USER" /> 
      <springsecurity:user name="admin" password="admin" 
       authorities="ROLE_USER, ROLE_ADMIN" /> 
      <springsecurity:user name="guest" password="guest" 
       authorities="ROLE_GUEST" /> 
     </springsecurity:user-service> 
    </springsecurity:authentication-provider> 
</springsecurity:authentication-manager> 

Qualche idea sulla causa principale di questo? Il nostro progetto non sopporta avvisi spuri e non voglio disabilitare la convalida del bean Spring.

+0

"Convalida bean spring", vuoi dire JSR-303? – holmis83

+0

No, solo Eclipse sta eseguendo il suo validatore sui file di configurazione XML Spring Bean. Questo progetto ha 8 diversi file di configurazione Spring e questo è l'unico con un avviso contrassegnato per questo. – HDave

+0

Avete installato Spring Tool Suite o altri plugin speciali in Eclipse? – holmis83

risposta

3

Questo è un bug nella versione 3.6.0 di Spring Tool Suite, come ha sottolineato Luke Taylor. Il bug report è https://issuetracker.springsource.com/browse/STS-3875 e non verrà risolto prima di STS versione 3.6.3. È possibile esaminare il codice per questa classe su http://www.docjar.com/html/api/org/springframework/orm/jpa/SharedEntityManagerCreator.java.html

[Modifica] La segnalazione di bug indica che questo bug è stato corretto. La correzione è nella versione 3.6.4

+0

Grazie - ha eseguito l'aggiornamento in Eclipse ... tutto risolto. – HDave