私はデフォルトASP.NET MVC4のWebアプリケーションテンプレートおよびVisual Studioは、フィルターのディレクトリにInitializeSimpleMembershipAttributeを作成し、このようなアカウントのコントローラーを作成する使用: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))
およびsaid:"WebSecurity"クラスの他のメソッドを呼び出す前に、 "WebSecurity.InitializeDatabaseConnection"メソッドを呼び出す必要があります。
私はInitializeSimpleMembershipAttributeでそれを実行し、WEBAPIコントローラは、コントローラと同じです。
属性がWebAPIで実行されないのはなぜですか?