ソリューションは、ちょうど承認がこの方法カスタム属性がデフォルトから継承フィルタを認可作成するには、次のようになります。
public class LogAuthorizeAttribute : AuthorizeAttribute
{
protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)
{
var authorized = base.IsAuthorized(actionContext);
if (!authorized)
{
// log the denied access attempt.
}
return authorized;
}
}
この方法では、あなたが親から同じAUTHORIZE検証を維持しますが、次のような追加のことを行うことができます不正なアクセスをケースに記録します。
あなたは、単にあなたのWeb APIのメソッドでそれを使用することができます。
public class ValuesController : ApiController
{
[LogAuthorize]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
、これはそれを行うにはどのように右のanswereです。 –
本当ですか?グローバルなアクセスポイント、フィルタ、またはishが存在しないため、これを傍受してすべてのAuthorize属性を置き換える必要はありません。 – JobaDiniz