2011-11-04 12 views
12


właśnie stworzył nowy grails-app,
wszystko było w porządku, dopóki nie postanowił
zainstalować Spring Security Core.
Grails Błąd: Żądanie wątek związany znaleziono: Czy odnosząc się do wniosku przypisuje ... Po zainstalowaniu Wiosna Bezpieczeństwo Rdzeń

Po zainstalowaniu Wiosna zabezpieczeń Rdzeń
robi S2-QuickStart i uderzanie
grails run-app, że wyprodukował
następujący błąd:

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. 

ktoś wie jak rozwiązać ten problem?
Byłbym bardzo wdzięczny, gdyby
pomógł. Próbowałem szukać odpowiedzi na inne strony internetowe pod numerem

Nie mogłem go rozwiązać. :)
BTW, używam:
Wiosna zabezpieczeń Rdzeń 1.2.4
Grails 2.0.0.RC1

+0

Co kontroler ma URI/test1/hit? Jakie działania podejmuje? Pomocny mógłby być dowolny kod, który można wysłać z kontrolera, ponieważ prawdopodobnie jest to coś wewnątrz kontrolera lub usługa, która nie jest częścią sesji transakcyjnej. – Todd

+0

Witam, Właśnie zsunąłem wszystkie moje kontrolery, z wyjątkiem tych wyprodukowanych przez Spring Security Core./test1/to nazwa mojej aplikacji. :) –

+0

Po prostu próbowałem utworzyć projekt, dodać klasę domeny, wygenerować wszystko w tej domenie, zainstalować spring-security-core, uruchomiłem s2-quickstart i wszystko działało dobrze. Czy wypróbowałeś grails w czystości? – Todd

Odpowiedz

7

może się to zdarzyć, jeśli używasz starszej wersji wiosennej Bezpieczeństwa Core. Uderzyłem w to przy aktualizacji z Grails 1.3.7 (i Spring Security 1.1.3) do Grails 2.0.0. Rozwiązaniem była zmiana na wiosenno-bezpieczeństwa-core 1.2 w application.properties:

plugins.spring-security-core=1.2 

Więcej informacji na http://jira.grails.org/browse/GPSPRINGSECURITYCORE-98 jak sugeruje 황현정.

+0

bardzo ładne, działa jak urok, ale co to jest wiadomość 's2-quickstart', która pochodzi od grails mówiący mi, aby uruchomić to polecenie? – raffian

16

Jeśli używasz Maven, upewnij się, że masz to na twój pom.xml:

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

oraz w BuildConfig, porywające:

runtime ":webxml:1.4.1" 

To rozwiązało problem dla mnie z Grails 2.2.0.

+2

Naprawiono to dla mnie w Grails 2.2.3, Spring-Security-Core 1.2.7.3, dzięki! – Keeth

+0

Modyfikowanie BuildConfig.groovy nie działało dla mnie, ale rozwiązanie "plugins.webxml = 1.4.1" dla aplikacji application.properties rozwiązało problem. (Używam ggts) – bebbo

1

Spróbuj zarejestrować detektor RequestContextListener w pliku web.xml.

Plik: web.xml

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