2017-03-15 18 views
1

ASP.NETコア、特に認可を調べ始めました。モデルがかなり変更されたので、前回の実装と比べると少し混乱していると言わざるを得ない。ASP.NETコアでAuthorizeFilterを使用する場合

Authorization属性コンストラクタにパラメータを渡すことができず、代わりにPolicy/Requirement/Handlerがあることを嘆いています。

AuthorizeFilterのユーザーケースはどういうものでしょうか? AuthorizeAttributeとの違いは? Requirement/Handlerをいつ実装すればいいですか?また、AuthorizeFilter(古いモデルの近くで動作するように見える)の実装時期は?

私はこの特定の側面を詳述したオンラインリソースを見つけることができなかったので、啓発は大いに感謝します。

答えて

2

AuthorizeFilterのクラス上のドキュメントは言う:AuthorizeAttributeが存在する場合、コントローラは、AuthorizeFilterのインスタンスを作成しているので、

MVC recognizes the <see cref="T:Microsoft.AspNetCore.Authorization.AuthorizeAttribute" /> 
and adds an instance of this filter to the associated action or controller. 

は、コントローラのフィルタに追加されます。

基本的には、装飾が分割されています。AuthorizeAttributeの実装はAuthorizeFilterです。

清潔なコードが必要な場合は、AuthorizeAttributeを使用してコントローラクラスを飾ることができます。

コントローラコンストラクタメソッドのフィルタにte AuthorizeFilterを追加すると、より理解しやすい/論理的なコードを追加できます。

関連する問題