我有两个站点的多个实例,DEV,QA,UAT-STAGING,UAT,PROD-STAGING和PROD。我有一个登录按钮,需要链接到安全门户。
因此,当在DEV上时,用户将转到dev.secure.com,QA,qa.secure.com,UAT(任一),uat.secure.com,PROD(任一),secure.com。
这是我的代码段。
if (Request.Url.AbsoluteUri.Contains("dev."))
{
btn_login.NavigateUrl = "https://dev.secure.com";
}
else if (Request.Url.AbsoluteUri.Contains("qa."))
{
btn_login.NavigateUrl = "https://qa.secure.com";
}
else if (Request.Url.AbsoluteUri.Contains("uat"))
{
btn_login.NavigateUrl = "https://qa.secure.coma";
}
else
{
btn_login.NavigateUrl = "https://secure.com";
}

这似乎有效,但这是最好的方法吗?我曾考虑过web.config中的重写规则,但首先从这开始。
答案 0 :(得分:0)
有很多方法可以实现这一目标。
我在您的解决方案中看到的主要问题是,如果您的网址是:
https://qa.secure.com/somethingdev.aspx 要么 https://QA.secure.com/somethingdev.aspx
它没有按预期工作。
如果你想这样做,你至少应该只讨论Uri
Request.Url.Host.ToLower().Contains("dev.")
我在这种情况下的方法是将登录URL作为配置参数存储在web.config或自定义配置文件或db
上