有两个应用服务器:http://localhost:9080/appA和http://localhost:9081/appB
appA托管在Websphere上,不受我的控制。它使用路径" /"
设置JSESSIONID和LtpaToken2appB在Liberty Profile上,我完全可以控制它。我不使用会话或单点登录。我有一个简单的REST服务器回显用户输入。没有返回cookie。
我在浏览器中打开appA,登录,查看cookie(JSESSIONID和LtpaToken2)。打开另一个去appB的标签,然后马上我看到LtpaToken2 cookie消失了,JSESSIONID仍在那里。回到appA标签,导航到另一个页面,用户就会被踢出去。
什么可能使LtpaToken2从Liberty Profile中消失?
答案 0 :(得分:0)
您在日志中看到了哪些错误/消息?
假设在完整配置文件(WAS)和自由配置文件之间没有交换ltpa密钥,当令牌被提供给自由并且必须进行身份验证(访问受保护的servlet时)时,它将失败并删除cookie。
另一种可能性是,如果由于某种原因进入自由的会话无效,则执行注销。是在这里分享会话还是应该为每个应用创建一个新会话?
一种解决方案是在WAS和Liberty中都有自定义的ltpa cookie名称,这样就不会弄乱其他cookie。
但是,如果他们需要参加SSO,则需要交换LTPA密钥。