2017-01-24 11 views
0

私は2つのサイト、DEV、QA、UAT-STAGING、UAT、PROD-STAGING、PRODの複数のインスタンスを持っています。私は安全なポータルにリンクする必要があるログインボタンがあります。asp:サブドメインに基づくハイパーリンクナビゲーション

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の書き換えルールについて考えていましたが、これを最初に始めました。

+1

私が取り組んできたほとんどのアプリケーションでは、URLはweb.configにあります。どのサーバーがホストしているかに応じて値を変更するだけです。 –

+0

これは何か? http://stackoverflow.com/questions/35296405/how-do-use-asp-web-config-variable-as-link –

+0

はい。サーバ上のweb.configファイル全体を置き換える場合は、その値を再度変更する必要があります。ファイル全体を置き換えるのではなく、configファイルを編集することを常にお勧めします。 –

答えて

0

これを達成する方法はたくさんあります。

私はあなたのソリューションに見る主な問題は、あなたのURLがあればということである。

https://qa.secure.com/somethingdev.aspx または https://QA.secure.com/somethingdev.aspx

期待どおりに動作しません。

あなたがUri

Request.Url.Host.ToLower().Contains("dev.") 

の唯一Host一部少なくともチェク必要があることを道に行きたい場合はこのような状況で私のアプローチは、ウェブ上のconfigパラメータとしてログインURLを格納することです.configまたはカスタム設定ファイルまたはdbで

+0

web .configソリューションはZathが提案したものであり、私はこれらのラインに沿って実装しテストしました。乾杯! –

関連する問題