Questo codice è dalla MVC codice sorgente RTM asp.netChi stabilisce la proprietà IsAuthenticated del HttpContext.User.Identity
chi imposta la proprietà IsAuthenticated del HttpContext.User.Identity?
protected virtual bool AuthorizeCore(HttpContextBase httpContext) {
if (httpContext == null) {
throw new ArgumentNullException("httpContext");
}
IPrincipal user = httpContext.User;
if (!user.Identity.IsAuthenticated) {
return false;
}
}
è la proprietà IsAuthenticated impostata chiamando il metodo (MVC progetto di esempio 4,0 asp.net):
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
Quando il debug del codice della LogOn metodo mvc asp.net 4.0 progetto di esempio dopo la chiamata al metodo FormsAuth ... sopra. L'esecuzione di
User.Identity.IsAuthenticated
restituisce ancora FALSE. Solo quando il debug del metodo LogOff il
User.Identity.IsAuthenticated
dice TRUE. Quindi, chi sta impostando questa proprietà su TRUE e WHEN?
UPDATE:
Si tratta di circa FORME autenticazione!
Ho eseguito il debug del metodo LogOn del progetto di esempio mvc asp.net e dopo che l'azione LogOn è stata restituita, il metodo AuthorizeCore che ho sostituito viene chiamato e quindi la proprietà IsAuthenticated è TRUE!
L'impostazione di TRUE dipende forse dalle raccolte ModelState.Value.Error?
Se count == 0 nelle collezioni di errore del IsAuthenticated è TRUE altrimenti l'IsAuthenticated è FALSE
Può confermare che?
Nessun link sorgente ma a giudicare le altre soluzioni asp.net mvc Ho scoperto che sei l'esperto ;-) Mi piace la spiegazione con le richieste successive che molte persone non hanno capito/trovato cercando su Google in questo stesso argomento. – Elisabeth
@DarinDimitrov Se la risposta è scritta il cookie corretto che include il ticket FormAuthentication dopo essere stato autenticato correttamente. L'asp.net leggerà e risolverà la richiesta. determinerà se 'IsAuthenticated' è vero di false. Qualsiasi problema per favore correggimi Grazie. –