非常に単純な問題があります。Identity Server 3 を展開する環境に応じて、ログオン ページに別の画像を表示したいと考えています。イメージ ソースの場所は で定義され、web.config
ビルド構成に応じて変換されます。
画像を表示できるようにパーシャル_login.html
をオーバーライドしていますが、この構成変数を定義する変数をビューに (簡単に) 渡す方法がわかりません。
ここに示されているを使用することでこれが可能であると信じていCustomViewService
ます:http://identityserver.github.io/Documentation/docs/advanced/customizingViews.htmlしかし、変数をビューに渡す簡単な方法があるかどうか知りたいですを作成する必要はありませんCustomViewService
。
を拡張し、CommonViewModel
実行時に Identity Server 3 でこれを解決することはできますか? はExtendedCommonViewModel
非常に簡単です:
public class ExtendedCommonViewModel : CommonViewModel
{
public string ImageLocation
{
get { return ConfigurationManager.AppSettings["ImageLocation"].ToString(); }
}
}
そして、それを_login.html
ビューで次のように使用します<img src="{ImageLocation}" />
Replace
これは、デフォルトのビュー サービスの関数に解析する必要があることを理解しています。 /DefaultViewService/DefaultViewService.cs
繰り返しますが、を作成せずに、Identity Server 3 のオーバーライドされた部分ビューに変数を渡す簡単な方法はありますCustomViewService
か?
編集 :
Scripts
追加 - 変数をパラメーターとして渡すことでソリューションのハックを見ることができますDefaultViewServiceOptions
が、これはハックすぎるようです。
を拡張してDefaultViewServiceOptions
、ビューで使用できるカスタム モデル パラメータを含むカスタム ディクショナリを追加することが可能です。これは最善の解決策のように思えますが、DefaultViewService