我正在研究 grails 应用程序。对于用户管理,我使用的是 Grails 的 Spring Security Core PlugIn。我想存储一些特定于当前登录用户的信息,直到用户保持登录状态,并且我希望这些信息在所有浏览器中都可用。我尝试使用基于范围的服务来访问它。所以我创建了一个服务:
class LoggedInUserSessionDataService {
String searchParams
String searchQuery
//This service will get expire when loggedin user's session will expire
static scope = 'session'
}
并在 resources.groovy 文件中为其代理:
loggedInUserSessionDataServiceProxy(org.springframework.aop.scope.ScopedProxyFactoryBean) {
targetBeanName = 'loggedInUserSessionDataService'
proxyTargetClass = true
}
然后在我的控制器中,我注入了这个代理:
def loggedInUserSessionDataServiceProxy
因此,毕竟,存储的信息仅可用于特定浏览器,并且当我尝试在其他浏览器中访问此信息时找不到,而在该浏览器中也应该可以访问。
请指导我如何实现这一目标?如果不可能通过基于范围的服务,那么还有什么其他选择?
PS 在同一个浏览器中 当用户保持登录状态时,存储的信息在同一个浏览器中仍然可用,这可以正常工作。
谢谢你的时间 :)