我对groovy / grails世界很新,所以原谅提出简单的问题。我很确定这可以通过元编程来完成,即将方法注入到grails控制器类的定义中。谁能指出我应该在哪里写这个注射(Bootstrap.groovy?)。 我试图用Spring-security-core插件创建currentUser()方法,我可以在任何控制器中使用它。
答案 0 :(得分:2)
这两个帖子回答了你的问题:
然而,您可能会考虑其他几种方法......
您可以将“SecurityService”注入需要了解当前用户并在其上放置“getCurrentUser”的控制器。
您可以使用Grails过滤器将“currentUser”添加到所有控制器可用的参数映射中。我喜欢这种方法,因为我通常使用过滤器来实现安全性。过滤器还可以在视图渲染之前将其添加到所有模型,以便所有视图都可以访问它。