私は、[承認]属性は、アクションフィルタまたは 認証フィルタであるかどうか混乱していますか?
[Authorize]
属性は、ソースコードを見るとわかるように、認可フィルタです。詳細を見ると、IAuthorizationFilter
インターフェイスが実装されており、ドキュメントに従ってAuthorizationフィルタとして分類されます。それが実行され
namespace System.Web.Mvc
{
//
// Summary:
// Specifies that access to a controller or action method is restricted to users
// who meet the authorization requirement.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class AuthorizeAttribute : FilterAttribute, IAuthorizationFilter
.........
?
ドキュメントあたりとおり
フィルタが上記の順序で実行されています。たとえば、 承認フィルタは、アクションフィルタおよび の前に常に実行され、他のすべてのタイプの フィルタの後には常に実行されます。
AuthorizeAttributeクラスとRequireHttpsAttributeクラス:それは明らかに[承認]属性は、認証フィルタであることを述べてhttps://msdn.microsoft.com/en-us/library/gg416513(VS.98).aspx
:
は、MVCでのフィルタリングのための現在のドキュメントを見てください承認フィルターの例は です。承認フィルタは、 より前に実行されます。
ありがとう!!それが私の疑問を解決した – TBAG