0

我目前正在运行此设置,其中网站在 site.domain.tld 上运行,后端在 admin.site.domain.tld 上运行

将在 sso.admin.site.domain.tld 安装一个有点 SSOish 的系统。事实上,当访问该站点时,用户已通过身份验证,设置了相应的 cookie,并且用户被移回 admin.site.domain.tld。

当我设置这样的cookie时

setcookie('bid', $bid, 0, '/', 'admin.site.domain.tld');

我将获得一个为 .admin.site.domain.tld 发布的 cookie cookie(注意点)。

这样的登录工作正常,但如果用户出于某种原因首先访问 admin.site.domain.tld,然后决定使用 sso[...] 登录,我们就会遇到问题:adminpage 为自己设置了一个 cookie - 但这次是为 admin.site.domain.tld 发布的 - 开头没有点。

所以基本上在这次使用 sso-login 之后,用户最终拥有两个不同的 cookie,一个用于 admin.site.domain.tld,一个用于 .admin.site.domain.tld

因为管理页面更喜欢直接为页面本身设置的 cookie,所以点 cookie 被忽略并且登录失败。

所以基本上最好的方法是读取、修改或删除已经存在的 cookie,但这在 sso 子域中似乎是不可能的。

“由于某些原因”,我们无法将 sso-subdomain 中的内容直接放在 admin-subdomain 上。

任何有想法的人,我能做些什么来摆脱那些“坏”的admin.-cookies?

4

1 回答 1

0

是否可以使用不同的 cookie 名称?您有一个读取和写入“cookie1”的子域,然后有另一个读取和写入“cookie2”的子域。这能解决你的问题吗?

于 2012-09-18T23:16:39.370 回答