2011-11-04 27 views
12


tôi vừa tạo ra một grails-app mới,
mọi thứ vẫn ổn cho đến khi tôi quyết định
để cài đặt Spring Security Core.
Grails Lỗi: Không yêu cầu thread-ràng buộc tìm thấy: bạn có đề cập đến yêu cầu các thuộc tính ... Sau khi cài đặt Xuân An Lõi

Sau khi cài đặt Xuân An Lõi
làm một s2-QuickStart và nhấn
grails chạy ứng dụng, nó tạo ra các
lỗi sau:

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. 

Bất kỳ ai biết làm thế nào để sửa lỗi này?
Tôi thực sự đánh giá cao nếu
bạn trợ giúp. Tôi đã thử tìm kiếm các câu trả lời
trong các trang web khác, tuy nhiên
Tôi không thể giải quyết được. :)
BTW, tôi đang sử dụng:
Xuân An Lõi 1.2.4
Grails 2.0.0.RC1

+0

điều khiển gì URI/test1/hit? Hành động đó là gì? Bất kỳ mã nào bạn có thể đăng từ bộ điều khiển sẽ giúp, vì nó có thể là một cái gì đó trong bộ điều khiển hoặc một dịch vụ không nằm trong phiên giao dịch. – Todd

+0

Xin chào, Tôi chỉ đào tạo tất cả các bộ điều khiển của mình, ngoại trừ những bộ điều khiển được sản xuất bởi chính Spring Security Core./test1/là tên ứng dụng của tôi. :) –

+0

Tôi vừa thử tạo một dự án, thêm một lớp miền, tạo tất cả trên miền đó, cài đặt spring-security-core, chạy s2-quickstart và nó hoạt động tốt. Bạn đã thử grails sạch chưa? – Todd

Trả lời

7

Điều này có thể xảy ra nếu bạn đang sử dụng một phiên bản cũ của Xuân An Core. Tôi nhấn nút này khi nâng cấp từ grails 1.3.7 (và bảo mật mùa xuân 1.1.3) lên grails 2.0.0. Cách khắc phục là thay đổi để mùa xuân-an ninh-core 1.2 trong application.properties:

plugins.spring-security-core=1.2 

Thông tin thêm tại http://jira.grails.org/browse/GPSPRINGSECURITYCORE-98 theo đề nghị của 황현정.

+0

rất tốt đẹp, làm việc như một say mê, nhưng những gì 's2-quickstart' tin nhắn mà đến từ grails nói với tôi để chạy lệnh đó? – raffian

16

Nếu bạn đang sử dụng Maven, hãy chắc chắn bạn có điều này trên pom.xml của bạn:

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

và trong BuildConfig, groovy:

runtime ":webxml:1.4.1" 

Đó giải quyết vấn đề này cho tôi với Grails 2.2.0.

+2

Điều này cố định nó cho tôi trong Grails 2.2.3, spring-security-core 1.2.7.3, cảm ơn !! – Keeth

+0

Sửa đổi BuildConfig.groovy không hoạt động đối với tôi, nhưng thêm "plugins.webxml = 1.4.1" vào application.properties đã giải quyết nó. (Tôi đang sử dụng ggts) – bebbo

1

Cố gắng đăng ký trình lắng nghe RequestContextListener trong tệp web.xml.

File: web.xml

<web-app> 
    ... 
    <listener> 
    <listener-class> 
     org.springframework.web.context.request.RequestContextListener 
    </listener-class> 
    </listener> 
</web-app> 
Các vấn đề liên quan