Condividi tramite


Flusso di controllo dell'autenticazione basata su form

Nella tabella riportata di seguito viene illustrato il flusso di controllo relativo all'autenticazione basata su form di ASP.NET.

Operazione HTTP e browser Risposta del server

Richiede una risorsa protetta su un server. L'operazione HTTP è:

GET /default.aspx

Se non sono presenti cookie di autenticazione, reindirizza la richiesta a una pagina di accesso per raccogliere le credenziali. Le informazioni relative alla pagina di origine vengono posizionate nella stringa di query utilizzando RETURNURL come chiave. La risposta HTTP del server è:

302 Found
Location: http://samples.microsoft.com/logon.aspx?RETURNURL=/default.aspx

Segue il reindirizzamento alla pagina di accesso. L'operazione HTTP è:

GET /logon.aspx?RETURNURL=/default.aspx

Restituisce la pagina di accesso. Per garantire la protezione, è consigliabile utilizzare il protocollo SSL (Secure Sockets Layer) per la pagina di accesso in modo da impedire che le credenziali dell'utente vengano inviate in testo non crittografato. La risposta HTTP del server è:

200 OK

Dopo che l'utente ha immesso le credenziali nella pagina di accesso, invia la pagina. L'operazione HTTP è:

POST /logon.aspx?RETURNURL=/default.aspx

Convalida le credenziali utente e, se tali credenziali vengono autenticate, reindirizza il browser all'URL originale specificato in QueryString come variabile RETURNURL. Per impostazione predefinita, il ticket di autenticazione viene rilasciato sotto forma di cookie.

NoteNota
È possibile specificare che il ticket di autenticazione sia incluso nell'URL anziché in un cookie mediante la proprietà CookieMode.

La risposta HTTP del server è:

302 Found
Location: /default.aspx

Segue il reindirizzamento e richiede nuovamente la risorsa originale. L'operazione HTTP è:

GET /default.aspx

Se l'utente è autenticato, concede l'accesso e il cookie di autenticazione contenente un ticket di autenticazione. Le successive richieste della stessa sessione del browser verranno autenticate quando il modulo consente di esaminare il cookie. È possibile creare un cookie permanente da utilizzare per le sessioni future, ma solo fino alla data di scadenza del cookie. La risposta HTTP del server è:

200 OK
Set-Cookie: ASPXTICKET=ABCDEFG12345;Path=/

Il percorso del cookie è impostato su /. La distinzione tra maiuscole e minuscole osservata nei nomi dei cookie consente di evitare incoerenze negli URL sul sito. Se ad esempio il percorso è impostato su /SavingsPlan e il collegamento contiene /savingsplan, l'utente dovrà eseguire nuovamente l'autenticazione in quanto il browser non consente l'invio del cookie.

Vedere anche

Altre risorse

Protezione delle applicazioni Web ASP.NET
Provider di autenticazione basata su form