내가 이런 계정 컨트롤러 필터 디렉토리에 InitializeSimpleMembershipAttribute를 생성하고 생성 기본 ASP.NET MVC4 웹 응용 프로그램 템플릿 및 Visual Studio를 사용 :WebAPI에서 class 속성이 작동하지 않는 이유는 무엇입니까?
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
/* Some Default Actions like Login, LogOff, Register, ...*/
}
을하고 난 AccountController WebAPI를 만들려고, 내 코드는 다음과 같습니다
지금[Authorize]
[InitializeSimpleMembership]
public class APIAccountController : ApiController
{
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpGet]
[System.Web.Http.HttpPost]
[System.Web.Http.AllowAnonymous]
[System.Web.Mvc.ValidateAntiForgeryToken]
public string Login(string UserName, string Password, bool RememberMe)
{
if (WebSecurity.Login(UserName, Password, persistCookie: RememberMe))
{
return "OK";
}
return "Failed";
}
}
, 나는이 라인에서의 휴식 API를 호출 :
경우 (WebSecurity.Login (사용자 이름, 암호, 당 systCookie : RememberMe))
및 : "WebSecurity"클래스의 다른 메서드를 호출하기 전에 "WebSecurity.InitializeDatabaseConnection"메서드를 호출해야합니다.
난 InitializeSimpleMembershipAttribute에 달려가 webapi 컨트롤러는 컨트롤러와 동일하다.
왜 특성이 WebAPI에서 실행되지 않습니까? 웹 API에 대한 System.Web.Mvc.ActionFilterAttribute
액션 필터에서