相关疑难解决方法(0)

FormsAuthentication.SetAuthCookie没有设置路径或域?

我有一个Web应用程序可以安装在很多域和路径上.

所以:

  • client1Name.{mySite.com}
  • client2Name.{mySite.com}
  • 演示.{mySite.com}/prospect1Name
  • 演示.{mySite.com}/prospect2Name
  • 演示.{mySite.com}/prospect3Name

所有相同代码的单独应用程序实例.

问题是如果客户端登录到client1Name.{mySite.com}然后访问其他站点之一,他们的浏览器将发送身份验证cookie.

在所有的情况下,FormsAuthentication.SetAuthCookie不设置任何的PathDomain.

我期望的是:

  • client1Name.{mySite.com} - Domain= client1Name.{mySite.com} Path = /
  • client2Name.{mySite.com} - Domain= client2Name.{mySite.com} Path = /
  • demo.{mySite.com}/prospect1Name - Domain= demo.{mySite.com} Path = / prospect1Name
  • demo.{mySite.com}/prospect2Name - Domain= demo.{mySite.com} Path = / prospect2Name
  • demo.{mySite.com}/prospect3Name - Domain= demo.{mySite.com} Path = / prospect3Name

我可以手动覆盖.Net的行为以显式设置这些,但我不确定为什么我需要 - 确保这应该是设置身份验证cookie时的默认行为,或者至少是一个可以在不重写的情况下设置的选项大块的.

我错过了什么吗?是否有某种方法可以FormsAuthentication.SetAuthCookie设置PathDomain

如果没有什么是动态阅尽的最佳方式PathDomain?必须在所有站点上运行相同的代码,我不想添加其他配置密钥.

更新

这是我目前的解决方案:

// …
Run Code Online (Sandbox Code Playgroud)

asp.net cookies forms-authentication

7
推荐指数
1
解决办法
7416
查看次数

标签 统计

asp.net ×1

cookies ×1

forms-authentication ×1