14
カスタムAuthorizeAttributeを作成しました。このAuthorizeAttributeは、HTTPヘッダーの内部で送信されるいくつかのOAuth資格情報を検証します。これらの資格情報の一部を使用して、誰が要求を行っているかを特定しています。一度私はAuthorizeAttributeでこの情報を解析する方法は、データをコントローラのインスタンス変数に割り当てることができるようにそれを渡す方法はありますか?私のコントローラーのどこにいても、私は要求側のIDを持っています。AuthorizeAttributeからコントローラにデータを渡すにはどうすればよいですか?
Hmm ...この変数を設定するためにコントローラにコンストラクタを追加すると、モデルバインディングがすべて破損しました(エラーがスローされます)。他のアイデア? – BigOmega
@ Ryan私はもともとこれを私の答えに書いていましたが、削除しました。とにかく、コントローラのコンストラクタが** OnAuthorizationの前に**起動するので、アイテムはまだ設定されません。さらに、コントローラはまだその時点でHttpContextを持っていません。あなたの行動でこれを行う必要があります。 –
@ Ryan 'OAuthController:Controller'を作成し、リンク先の記事で述べた' OnAuthorization'をオーバーライドし、 'protected'メンバを設定し、他のコントローラに継承させることもできます。 –