0

这是我试图解决的一个类/流程设计问题:

我正在尝试使用户的会话信息在我的 Grails 应用程序中可用,而无需(或要求)在服务层和控制器之间传递 HttpSession。

目前,我有一个过滤器,一旦用户登录,所有与用户相关的信息都会映射到 UserSessionHelper 类中,我将该类的实例添加到会话中,例如:

 session.userInfo = new UserSessionHelper(name:"x", isActive: true)

我希望能够访问会话对象及其在我的应用程序中随处可见的内容,而无需显式传递它(作为参数),就像 grailsApplication在整个 Grails 中可用的方式一样。

有人可以给我一些关于如何以线程安全的方式完成此任务的提示吗?

我正在使用 Grails 2.4.2

谢谢。

4

1 回答 1

1

有很多方法可以做您所询问的事情,但了解具体细节会有所帮助。例如,您可能想要一个会话范围的 bean,它保存有问题的状态,然后在您需要的任何地方访问该 bean。然后,您可以将该 bean 注入到您需要访问该状态的任何控制器、服务、标记库、其他 bean 等中。

于 2015-07-17T18:54:57.987 回答