当我通过不同的浏览器作为经过身份验证的用户向JSF应用程序进行身份验证时,即使我使用单个用户帐户进行身份验证,JSF也会为我维护不同的用户会话。
有什么办法可以避免这种情况吗;无论何时使用相同的用户帐户,都只在服务器上为所有并发的不同浏览器会话使用单个session
实例?
编辑:
如何将用户会话数据存储在应用程序范围中,以便它可以更全局地用于不同的浏览器会话)&在会话范围的bean上使用PreDestroy
方法销毁应用程序范围中的用户会话数据(使其具有与@SessionScoped
数据相同的生存期)?
我会在应用程序范围内维护一个映射<userId, userSessionInstance>
,用于我的应用程序的所有当前已验证用户。因此,它允许我在为用户创建会话时检查在应用程序范围内是否已经有实例可用。
否。不同的浏览器=>不同的评价。浏览器对彼此的cookie一无所知。