シングルサインオンマネージャによって生成されたURL経由で使用されるサイトエントリコントローラがあります。 SSOマネージャは、署名しようとしているシステムのURLにアクションパラメータとして識別ハッシュを追加します。MVCのクエリ文字列を手動で解析することなく、urlから "action"という名前のパラメータを抽出するにはどうすればよいですか?
SSOマネージャによって生成されたURLは次のようになりそう:
http://mysite/Entry/SingleSignOn?action=123456789ABCDEFG
私はちょうどより良いルートを設定する必要があると思うが、私はそれがまだ仕事を得ることができませんでした。私はちょうどクエリ文字列を開く分割することができます知っているが、希望
public ActionResult SingleSignOn(string action)
{
// action returns "SingleSignOn"
var querystring = Request.Url.Query; //returns "?action=123456789ABCDEFG"
return RedirectToAction("Index");
}
:私は結合標準MVC経由のURLからアクションを取得しようとすると、それは私に、アクションの名前ではなく、私は必要なハッシュを与えています可能であれば好まない。それはひどく複雑な問題のようには見えませんが、私は正しいルートを見つけられません。
MVCに組み込まれているルーティングでは、クエリ文字列はまったく使用されません。したがって、達成しようとしていることはあまり明確ではありません。 SSOがすべての要求を '/ Entry/SingleSignOn'に送り返す場合、そのアクションメソッドでクエリ文字列を解析する必要があります。サイトの複数の場所に要求を送信できる場合は、アクションフィルタを使用してリダイレクトを行うことを検討することがあります。ログイン後にリダイレクトを行うことは珍しいことではありません。ルーティングを使用する必要がある唯一の理由は、SSOから送信されたブラウザのURLを保持することだけです。 – NightOwl888