In diversi luoghi in un 2.0 implementazione standard ASP.Net MVC Identità Owin vedrete rememberBrowser, come:Che cosa fa esattamente OwinBrowser?
await signInManager.SignInAsync(user, isPersistent: isPersistent, rememberBrowser: false);
Se si imposta rememberBrowser al vero, ho notato che posso uccidere il browser, kill IIS Express, eliminare l'utente nel quale il browser è stato connesso, anche riavviare il mio computer e il browser è ancora considerato come connesso. Non così grandioso, considerando che un utente eliminato che viene trattato come autorizzato/loggato causerà tutti i tipi di problemi nel codice dietro l'attributo [Authorize]
che si aspetta abbia un utente valido con cui lavorare.
Quindi, cosa sta esattamente ricordandoBrowser, e c'è qualche rischio che qualcuno possa semplicemente fingere di ricordare Browser nei propri cookie per aggirare l'accesso OWIN? Sembra che il punto di [Authorize]
sia quello di garantire che nessuno, ma gli utenti loggati, accedano a una determinata azione del controllore, e rememberBrowser sembra essere un buco in tale garanzia.
Domanda bonus: C'è un modo per disabilitare rememberBrowser in modo che anche se un cookie contraffatto è arrivato, sarebbe stato rifiutato?