मैं डिफ़ॉल्ट ASP.NET MVC4 वेब अनुप्रयोग खाका और विजुअल स्टूडियो का इस्तेमाल किया में फिल्टर निर्देशिका InitializeSimpleMembershipAttribute बनाएँ और इस तरह खाते नियंत्रक बनाने के लिए:वेबएपीआई में वर्ग विशेषता क्यों काम नहीं करती है?
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
/* Some Default Actions like Login, LogOff, Register, ...*/
}
और मैं AccountController वेबएपीआई बनाने की कोशिश, मेरे कोड है:
[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";
}
}
अब
, जब मैं एपीआई, इस पंक्ति में अपने को तोड़ने फोन:
अगर (WebSecurity.Login (नाम, पासवर्ड, प्रति sistCookie: RememberMe))
और कहा: आपको "वेब सुरक्षा" श्रेणी की किसी अन्य विधि को कॉल करने से पहले आपको "WebSecurity.InitializeDatabaseConnection" विधि को कॉल करना होगा।
मैंने इसे में शुरू किया आरंभिकसमूहरशिप एट्रिब्यूट और वेबपी नियंत्रक नियंत्रक के साथ समान है।
क्यों वेबएपीआई में विशेषता नहीं चलती है? वेब एपीआई के लिए System.Web.Mvc.ActionFilterAttribute
कार्रवाई फिल्टर से