2015-02-09 88 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