控制cookie与许多选项卡
本文关键字:选项 许多 cookie 控制 | 更新日期: 2023-09-27 18:17:27
我有一个特殊的问题。我的应用程序具有不同级别的身份验证,并且一个特定级别(sup用户)需要能够作为具有较低权限的另一个用户(sub用户)使用该应用程序。
我们建立了当sup用户选择子用户时,浏览器中的另一个选项卡将被打开,并将加载子用户特权和他各自的cookie。我们遇到的问题是:我们如何在这个新选项卡中获得新cookie的引用?
也sup用户将能够打开这么多选项卡,每个选项卡需要引用自己的cookie。
我认为您的sup用户应该设置为允许查看子用户的数据而不查看cookie。这意味着,当您以sup身份登录时,sup身份验证cookie适用于任何sub。这对您有意义吗?
当你试图为sub检索数据时,要么请求sub的凭据/cookie,要么检查是否有sup的cookie。如果有sup的cookie或者用户提供了sup的凭据,你就可以去了
不幸的是,没有办法以这种方式直接限制cookie的作用域。然而,一个解决方案,你的问题将是创建一个镜像URL到您的网站,并限制路径的cookie镜像;例如,将普通cookie的路径限制为www.example.com
,但创建镜像URL mirror.example.com
(使用符号链接或其他特性在内部指向www.example.com
)。然而,对于您想要做的事情来说,这不仅是相当多的工作,而且仅限于允许主用户和一个备用用户。
另一个解决方案,不依赖于cookie,将创建一个GET变量,当附加到您的网站上的URL,将导致一个足够特权的用户冒充另一个(例如&altUser=subUser
)。然后,为了使这个变量在一个选项卡中持久存在,在用它生成的页面的每个链接的末尾自动附加相同的变量。