2011-11-04 4 views
12


Ho appena creato un nuovo graal-app,
tutto è andato bene fino a quando ho deciso
da installare Spring Security Core.
Grails Errore: Nessuna richiesta filo-bound trovati: Si riferisce alla richiesta di attributi ... Dopo l'installazione di Primavera di sicurezza Nucleo

Dopo l'installazione di Primavera di sicurezza Nucleo
facendo un s2-QuickStart e colpire
graal run-app, ha prodotto il
seguente errore:

URI 
/test1/ 
Class 
java.lang.IllegalStateException 
Message 
No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request. 

Qualcuno sa come risolvere questo problema?
Mi piacerebbe davvero che se
ti aiuti. Ho provato a cercare le risposte
in altri siti web, tuttavia
non sono riuscito a risolverlo. :)
BTW, sto usando:
Primavera di sicurezza Nucleo 1.2.4
Grails 2.0.0.RC1

+0

Cosa controller non l'URI/test1/ha colpito? Che azione sta prendendo? Qualsiasi codice che potresti inviare dal controller potrebbe essere d'aiuto, poiché è probabile che qualcosa all'interno del controller o di un servizio non sia all'interno della sessione transazionale. – Todd

+0

Ciao, Ho impalcato tutti i miei controller, tranne quelli prodotti da Spring Security Core./test1/è il nome della mia app. :) –

+0

Ho appena provato a creare un progetto, aggiungere una classe dominio, generare tutto su quel dominio, installare spring-security-core, eseguire s2-quickstart e ha funzionato correttamente. Hai provato i graal puliti? – Todd

risposta

7

Questo può accadere se si sta utilizzando una versione precedente di Primavera di sicurezza Nucleo. Colgo questo quando eseguo l'aggiornamento da Grails 1.3.7 (e Spring Security 1.1.3) a Grails 2.0.0. La correzione è stato quello di cambiare per la primavera-sicurezza-core da 1,2 a application.properties:

plugins.spring-security-core=1.2 

Maggiori informazioni presso http://jira.grails.org/browse/GPSPRINGSECURITYCORE-98 come suggerito da 황현정.

+0

molto bello, ha funzionato come un incantesimo, ma qual è il messaggio 's2-quickstart' che viene dai graal che mi dice di eseguire quel comando? – raffian

16

Se stai usando Maven, assicuratevi di avere questo sul vostro pom.xml:

<dependency> 
    <groupId>org.grails.plugins</groupId> 
    <artifactId>webxml</artifactId> 
    <version>1.4.1</version> 
    <scope>runtime</scope> 
    <type>zip</type> 
</dependency> 

e in BuildConfig, Groovy:

runtime ":webxml:1.4.1" 

che ha risolto il problema per me con Grails 2.2.0.

+2

Ho risolto questo problema in Grails 2.2.3, spring-security-core 1.2.7.3, grazie !! – Keeth

+0

La modifica di BuildConfig.groovy non ha funzionato per me, ma l'aggiunta di "plugins.webxml = 1.4.1" a application.properties l'ha risolta. (Sto usando ggts) – bebbo

1

Provare a registrare un listener RequestContextListener nel file web.xml.

File: web.xml

<web-app> 
    ... 
    <listener> 
    <listener-class> 
     org.springframework.web.context.request.RequestContextListener 
    </listener-class> 
    </listener> 
</web-app> 
Problemi correlati