【问题标题】:Spring session gets overridden春季会话被覆盖
【发布时间】:2017-03-28 22:26:22
【问题描述】:
<bean id="userSession" class="com.test.service.beans.UserSession" scope="session">
        <aop:scoped-proxy/>
</bean>

public class UserSession {

private User currentUser;

/**
 * @return the currentUser
 */
public User getCurrentUser() {
    return currentUser;
}

/**
 * @param currentUser the currentUser to set
 */
public void setCurrentUser(User currentUser) {
    this.currentUser = currentUser;
}

在获取会话中当前用户的代码中——我使用

userFacade.getCurrentUser().getUserType()

访问会话变量没有问题。但是当我尝试打开另一个浏览器并使用另一个用户 ID(用户 B)登录时,用户 A 的会话变量会被用户 B 信息覆盖

【问题讨论】:

  • 用户对象未在会话范围内声明 - 应该是吗?

标签: spring session


【解决方案1】:

哪个浏览器?如果是 Internet Explorer,您只能在打开的窗口中获得一个会话。您可以尝试使用其他类型的浏览器吗?以 IE 中的用户 A 和 Firefox 中的用户 B 为例。

【讨论】:

  • 对这两个请求都使用 firefox。 User 对象未在会话范围内声明 - 应该是吗?
  • Firefox 跨浏览器共享会话。如果您无法从两个“浏览器”同时使用两个用户登录,则它可以正常工作。
猜你喜欢
  • 1970-01-01
  • 2017-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 2012-02-17
  • 2011-06-21
相关资源
最近更新 更多