2015-03-26 21 views
22

Ho appena iniziato a lavorare con Grails e mi piacerebbe testare il plugin Spring Security. Sto usando Grails v3.0.0RC2, e trovo difficile trovare documentazione accurata con un sacco di cose.Grails 3 e Spring Security Plugin

Sto guardando la pagina Grails per il plugin Primavera di sicurezza, che si trova a http://grails.org/plugin/spring-security-core, e mi dice di aggiungere quanto segue al graal-app/conf/BuildConfig

plugins { 
    … 
    compile ':spring-security-core:2.0-RC4' 
    … 
} 

Ora, Grails 3 ha eliminato il BuildConfig e spostato su utilizzando Gradle. Così ho pensato che avrei potuto solo che compilare la linea alla mia sezione "dipendenze" in build.gradle e sarebbe lavorare, in questo modo:

dependencies{ 
    ... 
    compile:":spring-security-core:2.0-RC4" 
} 

Tuttavia, ciò non ha funzionato. Ottengo l'errore "Impossibile trovare: spring-security-core: 2.0-RC4 ...".

Poi ho pensato, 'Hey, è un plugin, mi permetta di provare precedere con 'org.grails.plugins' come vedo altrove nel file build.gradle:

dependencies{ 
    ... 
    compile:"org.grails.plugins:spring-security-core:2.0-RC4" 
} 

E ancora non va .

ho ottenuto che per compilare con l'aggiunta della dipendenza trovato su search.maven.org, in questo modo:

dependencies{ 
    ... 
    compile 'org.springframework.security:spring-security-core:4.0.0.RELEASE' 
} 

Ma non credo che questo è il modo corretto di fare, perché la documentazione dice che Grails dovrebbero avere accesso al comando

grails s2-quickstart 

una volta installato il plug-in, che non lo faccio quando lo faccio utilizzando il repo Maven.

Sono sicuro che c'è un semplice errore di configurazione che sto facendo, dato che sono molto nuovo sia per Grails, Spring, e Gradle, quindi apprezzo qualsiasi aiuto che possa essere fornito.

+1

Il plugin di sicurezza a molla non è Grails 3 compatibile. –

+0

@JoshuaMoore Grazie per la rapida risposta. Dove hai trovato questa informazione? Tutto quello che ho visto relativo alla compatibilità era nella pagina del plugin di Grails, e diceva che era compatibile con 2.3.0+. Sarebbe stato bello se lo avessi trovato nella documentazione da qualche parte prima di provare a farlo funzionare. – ekbarber

+0

vedere la mia risposta per ulteriori dettagli. –

risposta

15

Il plug-in di Spring Secuirty per Grails non è compatibile con Grails 3. Tuttavia, poiché Grails 3 è basato su Spring Boot, puoi utilizzare lo Spring Security Starter for Spring Boot.

Questo è stato discussed sulla mailing list degli sviluppatori di Grails e in futuro molti plugin di Grails non verranno spostati in Grails 3 e saranno sostituiti da soluzioni Spring pure.

Aggiornamento

Dal momento che questa domanda è stato originariamente chiesto c'è stato un plugin Primavera di sicurezza creata per Grails 3.x. Può essere trovato qui: https://bintray.com/grails/plugins/spring-security-core/view

+3

Non proprio. C'è un plugin per Grails 3. Attualmente lo sto usando. Questo è un aggiornamento poiché questa domanda è stata posta qualche tempo fa. Ecco il link https://bintray.com/grails/plugins/org.grails.plugins%3Aspring-security-core/view#files – DtechNet

+0

Josh: c'è un plug-in per Spring 3 ora disponibile ... ma non c'è documentazione su di esso. Mi stavo chiedendo se avessi provato e quale fosse la tua valutazione. – IcedDante

+0

Il link sembra rotto –

8

Il "Spring Security Starter for Spring Boot" è un buon punto di partenza, ma se vuoi risparmiare tempo a cercare di capire come farlo funzionare con Grails, controlla questo helpful blog post.

4

Ho scritto the blog post @Jamie di riferimento nella sua risposta e ho aggiunto a new blog post che descrive come utilizzare le classi di dominio Gorm dal plugin Spring-Security-Core di Grails 2.

1
dependencies { 
    ... 
    compile 'org.grails.plugins:spring-security-core:3.0.4' 
    ... 
} 

Questo è quello che ho usato e ha funzionato per me