0

ASP.NET の認可を実装する場合、実装されたAuthorizeAttributeクラスをどこに配置すればよいですか?

私のプロジェクトでは、クラスBasicHttpAuthorizedAttributeを実装するという名前のクラスを作成し、System.Web.Http.AuthorizeAttribute必要なメソッドをオーバーライドしました。

このBasicHttpAuthorizedAttributeクラスをフィルターとして登録しました。

[Authorized]私の問題は、コントローラーメソッドの上にある属性について言及していなくても、BasicHttpAuthorizedAttributeクラスのOnAuthorization()メソッドが呼び出されることです。

そんなはずないですよね?[Authorized]コントローラーメソッドの上に属性を記述した場合にのみ呼び出す必要があります。私は正しいですか?

ここで何が間違っていますか?(私のプロジェクトは ASP.Net Web API プロジェクトで、System.Web.Http.AuthorizeAttributeクラスを使用しています)

4

1 に答える 1

1

基本的にはOnAuthorization()、フィルターとして登録しているので毎回イベントに入ります。

この記事には、ブランケット フィルタリングと匿名の例外に関するいくつかの優れたヒントとトリップが含まれています。これは MVC 用かもしれませんが、使用される手法は、少し調整するだけでほとんどの ASP.NET 型に適用できるはずです。

http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

記事の例:

[HttpPost]
[AllowAnonymous]
public ActionResult LogOn(LogOnModel model, string returnUrl)
于 2012-07-27T08:14:58.433 に答える