我有一个具有以下域的 .net Web 应用程序: www.domain.com 子域名.com 文件.domain.com
当用户登录到domain.com或sub.domain.com时,我希望他们共享 session 状态(即同时登录到两个域)。这可以通过将 session cookie 上的域设置为“.domain.com”来实现。 但是,我的问题是,由于安全问题,域“files.domain.com”不应该具有 session 状态(来自该域上托管的用户创建文件的 xss 攻击是一个问题)。 p>
在 ASP.NET 中是否可以对这两个域使用相同的 asp.net session ID,但不能对第三个域使用相同的 ASP.NET session ID?
提前致谢!
最佳答案
以下是我想到的几个选项:
#1 - 通过客户端脚本将登录请求发布到两个应用程序。这将使您能够同时为两个有效域设置 cookie。这使您能够通过为您希望对用户进行身份验证的特定域创建 cookie 来避免您担心的 XSS 问题。
#2 - 将您的“不安全”站点移至其他域。例如:www.domain-files.com。通过该选项,您可以使用共享 cookie 来管理身份验证。
关于asp.net - 跨两个命名域共享 session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733775/