我有一个Web应用程序可以安装在很多域和路径上.
所以:
所有相同代码的单独应用程序实例.
问题是如果客户端登录到client1Name.{mySite.com}然后访问其他站点之一,他们的浏览器将发送身份验证cookie.
在所有的情况下,FormsAuthentication.SetAuthCookie不设置任何的Path或Domain.
我期望的是:
Domain= client1Name.{mySite.com} Path = /Domain= client2Name.{mySite.com} Path = /Domain= demo.{mySite.com} Path = / prospect1Name Domain= demo.{mySite.com} Path = / prospect2Name Domain= demo.{mySite.com} Path = / prospect3Name 我可以手动覆盖.Net的行为以显式设置这些,但我不确定为什么我需要 - 确保这应该是设置身份验证cookie时的默认行为,或者至少是一个可以在不重写的情况下设置的选项大块的.
我错过了什么吗?是否有某种方法可以FormsAuthentication.SetAuthCookie设置Path和Domain?
如果没有什么是动态阅尽的最佳方式Path和Domain?必须在所有站点上运行相同的代码,我不想添加其他配置密钥.
更新
这是我目前的解决方案:
// …Run Code Online (Sandbox Code Playgroud)