我有一個項目,其中包含MVC和Web API控制器。它使用Windows身份驗證。不過,我想用自定義屬性保護特定的Web API操作。我創建了以下剛拿到的基本流程設置(最終它會檢查用戶的IP地址):自定義屬性不生成
using System.Web;
using System.Web.Http;
using System.Web.Http.Filters;
namespace UoB.People.UserInterface.Mvc.Filters
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class IPAuthorize : AuthorizationFilterAttribute
{
protected bool AuthorizeCore(HttpContextBase httpContext)
{
return true;
}
}
}
我已經裝飾了我的Web API行動,這個屬性的調用。問題是,當我在本地運行我的代碼時,屬性代碼從未被擊中。行動是。此特定操作屬於不使用Windows身份驗證的控制器。
爲什麼我的屬性沒有被調用?它是否需要在某處註冊?有沒有衝突,因爲我的項目包含MVC和Web API控制器?我在某處做了一個簡單的錯誤嗎?
謝謝。
不,這會將過濾器註冊爲全局,即將其稱爲所有請求。 – ondra 2015-01-13 00:10:23