每个SSO呼叫都单独(新)会话

时间:2018-09-12 12:56:29

标签: liferay single-sign-on liferay-6 httpsession autologin

我在Liferay 6.2中遇到了SSO的情况,我需要刷新/删除现有的客户端(浏览器)会话,并为请求的用户创建一个新会话。

此方案特别适用于多个用户(例如同一家庭)使用单个设备访问我们网站的智能设备。

用例:

  1. 用户A在浏览器中已有一个会话。
  2. 用户B请求使用SSO(相似的设备/浏览器)访问该站点。
  3. 返回上一个会话,而不是新会话。

我已经通过AutoLoginFilter进行了调试,发现根据会话中设置的j_username属性返回了上一个会话。

我尝试向invalidate的上一个会话中添加以下自定义逻辑,并为新用户设置会话属性,但浏览器显示ERR_TOO_MANY_REDIRECTS-Try clearing your cookies.

if (jUserName != null && !session.isNew()) {
    jUserName = null;

    try {
        session.invalidate();
        session = request.getSession(true);
    }
    catch (Exception e) {
        ;
    }
}

认为该问题可以通过编程方式重置关联的cookie来解决,但这也无济于事。

还有什么我想念的吗?

0 个答案:

没有答案