这是我想要解决的类/流程设计问题:
我试图在我的Grails应用程序中提供用户的会话信息,而无需(或要求)在服务层和控制器之间传递HttpSession。
目前,我有一个过滤器,一旦用户登录,所有与用户相关的信息都被映射到UserSessionHelper类,我将该类的实例添加到会话中,如:
session.userInfo = new UserSessionHelper(name:"x", isActive: true)
我希望能够访问会话对象,并且它的内容在我的应用程序中的任何位置都没有显式传递(作为参数),就像 grailsApplication 一样Grails可以使用。
有人能以线程安全的方式向我提供一些如何完成此任务的提示吗?
我正在使用Grails 2.4.2
感谢。
答案 0 :(得分:1)
有很多方法可以做你要问的事情,但了解具体情况会有所帮助。例如,您可能希望会话范围的bean保存有问题的状态,然后在您需要的任何地方访问该bean。然后,您可以将该bean注入任何控制器,服务,标记库,其他bean等,无论您需要访问该状态。