मैं सिर्फ एक कॉलेज प्रोजेक्ट लपेट रहा हूं, मुझे यकीन नहीं है कि मैं अपने कंप्यूटर पर बहुत लंबे समय से देख रहा हूं और कुछ याद आ रहा हूं, लेकिन जब मैं कोशिश करता हूं किसी उपयोगकर्ता को लॉग आउट करने के लिए, मुझे URL/खाता/LogOff के लिए 404 नहीं मिला है।एमवीसी 4 - लॉगऑफ नियंत्रक कार्रवाई 404 नहीं मिला
मैं एक नेविगेशन बार है कि लॉग इन से पता चलता है/पर एक उपयोगकर्ता है कि क्या आधार पर लॉग आउट करें, में लॉग इन, या, लॉग आउट: डिफ़ॉल्ट logoff कार्रवाई है कि इंटरनेट के साथ आता है
<div class="nav-collapse collapse">
<ul class="nav pull-right">
<li class="dropdown" id="dropdown-login-div">
@if (!Request.IsAuthenticated)
{
<a class="dropdown-toggle" href="#" data-toggle="dropdown">Sign In <strong class="caret"></strong></a>
}
else
{
@Html.ActionLink("Log Off", "LogOff", "Account")
}
<div class="dropdown-menu" id="dropdown-login">
@Html.Partial("~/Views/Account/_LoginPartial.cshtml", new ViewDataDictionary<LetLord.Models.LoginModel>())
</div>
</li>
</ul>
</div>
अपने खाता नियंत्रक में टेम्पलेट:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
WebSecurity.Logout();
return View("Index");
}
क्या कोई मुझे बता सकता है कि यह क्यों हो रहा है - इससे पहले कि मैं अपने लैपटॉप को दीवार के खिलाफ फेंक दूं। चीयर्स।
यह सही है - और मेरी सिफारिश लॉगआउट के लिए एक फार्म बनाने के बजाय HttpPost दूर करने के लिए किया जाएगा। चूंकि आप सर्वर पर कोई भी डेटा सबमिट नहीं कर रहे हैं, इसलिए एक GET लॉगआउट कार्रवाई के लिए सबसे उपयुक्त है। –
'ValidateAntiForgeryToken' विफल हो जाएगा क्योंकि यह एक फॉर्म पोस्ट भी नहीं है। – GalacticCowboy
पूरी तरह से मेरे सिर पर चला गया। धन्यवाद। – MattSull