Sto solo concludendo un progetto universitario, non sono sicuro se ho guardato troppo a lungo il mio computer e mi manca qualcosa di ovvio, ma quando provo per registrare un utente, sto ricevendo un 404 non trovato per l'URL/Account/LogOff.MVC 4 - Azione del controller LogOff che non ha trovato 404
Ho una barra di navigazione che mostra Log in/Log out a seconda che un utente, registrato in, o, disconnesso:
<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>
Nel mio controller conto l'azione predefinita LogOff che viene fornito con Internet modello:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
WebSecurity.Logout();
return View("Index");
}
Qualcuno potrebbe dirmi perché questo accada, prima di gettare il portatile contro il muro. Saluti.
Questo è corretto - e il mio consiglio sarebbe quello di rimuovere il HttpPost piuttosto che la creazione di un modulo per il logout. Dal momento che non stai inviando alcun dato al server, un GET è più appropriato per un'azione di disconnessione. –
'ValidateAntiForgeryToken' fallirà dato che non è un messaggio di posta, anche. – GalacticCowboy
Ho completamente superato la mia testa. Grazie. – MattSull