0

我有一个特殊的问题。我的应用程序具有不同级别的身份验证,并且一个特定级别(支持用户)需要能够将应用程序用作具有较低权限的另一个用户(子用户)。

我们确定当 sup 用户选择子用户时,会在浏览器中打开另一个选项卡,并加载子用户权限和他各自的 cookie。我们遇到的问题是:我们如何在这个新选项卡中获取新 cookie 的引用?

此外,sup 用户将能够打开这么多标签,并且每个标签都需要引用他自己的 cookie。

4

2 回答 2

1

我认为您的 sup 用户应该设置为允许查看子用户的数据而不查看 cookie。这意味着,当您以 sup 身份登录时,sup 身份验证 cookie 适用于任何子。这对你有意义吗?

当您尝试检索 sub 的数据时,请询问 sub 的凭据/cookie 或检查是否有 sup 的 cookie。如果有 sup 的 cookie 或用户提供了 sup 的凭据,那么您就可以开始了。

于 2013-06-06T20:41:22.510 回答
1

不幸的是,没有办法以这种方式直接限制 cookie 的范围。但是,解决您的问题的一种方法是为您的网站创建一个镜像 URL,并将 cookie 的路径限制为镜像;例如,将普通 cookie 的路径限制为www.example.com,但创建一个镜像 URL mirror.example.com(使用符号链接或其他功能指向www.example.com内部)。但是,这不仅是您想做的大量工作,而且仅限于只允许主要用户和一个备用用户。

另一种不依赖于 cookie 的解决方案是创建一个 GET 变量,当附加到您网站上的 URL 时,会导致具有足够特权的用户冒充另一个用户(例如&altUser=subUser)。然后,为了使这个在选项卡中持久化,自动将相同的变量附加到使用它生成的页面上的每个链接的末尾。

于 2013-06-06T17:50:55.493 回答