我有一个网站与我域中的其他应用共享其身份验证令牌的网站:app1.mydomain.com,app2.mydomain.com等。
现在,我想将其网站转换为 white-label :即,该网址将为app1.ANOTHER-COMPANY.com。不会在同一个域中。
我在IIS中为白标签创建了一个新条目,该条目将定位到与当前网站相同的物理文件夹,并带有一个虚拟目录来覆盖我的内容文件夹。 此文件夹将包含我的白色标签的徽标和图片。
除身份验证被拒绝(因为我的白标签不在我的域中)外,它工作正常。
我试图在IIS中创建一个虚拟目录来存储一个authentication.config,并在我的web.config中使用它(使用configSource),但是它不适用于虚拟目录。
我试图在global.asax的AppStart中覆盖我的web.config,但是当我应用新设置时,它实际上会擦除我的web.config。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
AuthenticationSection section = config.GetSection("system.web/authentication") as AuthenticationSection;
string extendConfigPath = HttpContext.Current.Server.MapPath(WebConfigurationManager.AppSettings["ConfigExtends"] ?? "") + "\\extendsConfig.xml";
if (section != null && section.Mode == AuthenticationMode.Forms && File.Exists(extendConfigPath))
{
XDocument configExtends = XDocument.Load(extendConfigPath);
section.Forms.Domain = configExtends?.Root?.Element("authenticationDomain")?.Value ?? section.Forms.Domain;
section.Forms.Name = configExtends?.Root?.Element("authenticationName")?.Value ?? section.Forms.Name;
config.Save();
}
如何保留我的共享Cookie并为我的白标签获取另一个Cookie,而没有域限制?