Possiedo un'applicazione MVC Asp.Net (versione 6.0.0-rc1-final) con ruoli personalizzati e archivi utente. Dopo un po 'di struggling finalmente ho potuto creare un meccanismo di login funzionante. Tuttavia ora ho problemi a creare un logout pulito. Ciò che il mio codice di logout nel controller si presenta attualmente come:Cookie non eliminato dopo il logout con Asp.Net 5 Identity 3.0
public async Task<ActionResult> Logout()
{
if (User.Identity.IsAuthenticated)
{
await SignInManager.SignOutAsync();
}
return RedirectToAction("Index", "App");
}
Il problema con questo codice è, che un cookie viene cancellato non: .AspNet.Microsoft.AspNet.Identity.Application
Finché poiché non elimino manualmente il cookie, l'applicazione si trova in uno stato di errore e genera eccezioni del puntatore nullo perché User.Identity è nullo.
Ho trovato un question on stackoverflow che descrive uno scenario simile. Ma la soluzione non è appropriata per me perché sto usando MVC 6 che non ha più System.Web.
Ho anche una soluzione di esempio che funziona perfettamente. In questa soluzione il cookie menzionato non viene mai creato. Forse la soluzione giusta è non cancellare il cookie dopo il logout, ma piuttosto impedire in qualche modo la creazione del cookie.
@ Maxisam, hai trovato una soluzione nel frattempo? –
no, ma come ho detto non ha molta importanza. Sembra che non abbia nulla a che fare con i dati di autenticazione. – maxisam