2015-02-09 91 views
0

我在使用Redis作爲數據存儲和Spring Security Plugin運行Grails 2.3.5應用程序時遇到問題?grails 2.3.5 + redis-gorm插件+ spring安全核心插件

Error 500: Internal Server Error 
URI 
/test-redis-security/j_spring_security_check 
Class 
java.lang.IllegalArgumentException 
Message 
No transactionManager bean configured 
Trace 
Line | Method 
->> 706 | withTransaction in org.grails.datastore.gorm.GormStaticApi 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 1145 | runWorker  in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 745 | run    in java.lang.Thread 


    Any ideas? 

我提交登錄表單(安裝有彈簧安全核心和Redis的-格姆插件和用戶,角色,與S2-快速啓動命令生成Requestmap類全新的Grails工程)時得到這個「搞笑」的消息

回答

0

Spring Security Core默認設置爲需要事務,而redis-gorm插件不支持它們。您將需要覆蓋大多數由Spring安全代碼提供的服務,以便不需要事務。

+0

謝謝Jeff的回覆,請你一步一步解釋如何做這個重寫過程? – user3082992 2015-02-10 04:10:08

+0

從安裝的類開始,確保它們中沒有一個具有事務性調用。之後,您將需要查看spring secuirty內核的源代碼,並查看哪些方法需要事務處理,並開始使用您自己的方法覆蓋它們。尋找Burt Beckwiths黑客春季安全會談 – 2015-02-10 15:06:43