Protezione Web di HttpChannel

La protezione Web è basata sugli standard Internet per la comunicazione e l'autenticazione protetta. Per fornire protezione Web, la classe HttpChannel utilizza la comunicazione di rete gestita sul mittente e Internet Information Services (IIS) con ASP.NET sul ricevente. Le credenziali (nome utente, password e facoltativamente dominio) possono essere impostate nelle proprietà di HttpChannel. L'infrastruttura di comunicazione remota passa le credenziali a System.Net, che le invia al server. Tra le proprietà del sink dei messaggi del canale è inclusa la proprietà PreAuthenticate dalla quale, per impostazione predefinita, vengono inviate le credenziali con il primo messaggio.

Autenticazione

Le applicazioni contenute in ASP.NET possono essere configurate per l'autenticazione con la combinazione della protezione IIS e ASP.NET. La directory virtuale dell'applicazione ASP.NET è configurata per la protezione in IIS e ASP.NET. Per informazioni dettagliate sulla configurazione di IIS e ASP.NET per l'autenticazione, vedere Protezione delle applicazioni Web ASP.NET.

Comunicazione protetta in ASP.NET

L'oggetto HttpChannel contenuto in IIS con ASP.NET supporta la comunicazione protetta in invio e in ricezione tramite Secure Sockets Layer (SSL). Per configurare SSL, vedere la documentazione relativa a IIS. Includere il testo https e l'URL appropriato all'inizio di chiamate ad Activator.CreateInstance, Activator.GetObject, elementi contenuti nel file di configurazione di .NET Remoting, oppure ovunque siano utilizzati URL per specificare un oggetto remoto, un servizio Web XML remoto o un'applicazione remota.

Per determinare se la connessione HTTP è protetta, chiamare la proprietà HttpContext.Request per ottenere l'oggetto HttpRequest, quindi chiamare HttpRequest.IsSecureConnection.

Anonima

Utilizzare questa opzione per consentire agli utenti di stabilire una connessione anonima. L'utente può connettersi al server con un account anonimo o guest.

Nota   È necessario disattivare l'opzione Anonimo per utilizzare l'autenticazione Windows di base, classificata o integrata.

Autenticazione di base

L'autenticazione di base è un meccanismo di protezione che utilizza un meccanismo HTTP standard dove le informazioni utente vengono inviate e ricevute come caratteri di testo chiaramente leggibili invece che come informazioni binarie con flusso di bit. L'autenticazione di base utilizza una stringa codificata Base 64 contenente nome utente e password. In questo tipo di autenticazione le password e i nomi utente sono codificati, ma non crittografati. Con l'autenticazione di base le password sono trasmesse nella rete in forma non crittografata e ciò potrebbe consentire a un utente non autorizzato dotato di strumenti per il monitoraggio della rete di intercettare nomi utente e password.

L'autenticazione di base può essere utile quando l'applicazione richiede solo un identificatore per l'applicazione chiamante.

Autenticazione classificata

L'autenticazione classificata invia in rete un valore hash, piuttosto che una password. Questo metodo è utile su server proxy e altri firewall.

L'autenticazione classificata è uno schema challenge-response che verifica con un valore nonce, ossia una stringa di dati specificata dal server. Una risposta valida contiene un checksum di nome utente, password, valore nonce specifico, metodo HTTP e URI richiesto.

L'autenticazione classificata risponde a molti problemi dell'autenticazione di base. In particolare, la password non viene trasmessa come testo non crittografato con l'autenticazione classificata. Inoltre, a differenza dell'autenticazione Windows integrata, questo tipo di autenticazione funziona sui server proxy.

L'autenticazione classificata è utile quando l'applicazione richiede un maggior livello di autenticazione rispetto a quella di base.

L'autenticazione con cookie viene in genere utilizzata per fare riferimento a un sistema in cui le richieste non autenticate sono reindirizzate a un form HTML mediante il reindirizzamento HTTP sul lato client. L’utente fornisce le credenziali e invia il form. Se la richiesta viene autenticata dall'applicazione, il sistema rilascia un cookie che contiene le credenziali in un determinato formato oppure una chiave per riacquisire l'identità. Le richieste successive vengono rilasciate con il cookie nelle intestazioni di richiesta e sono autenticate e autorizzate da un gestore ASP.NET mediante il metodo di convalida richiesto dall'applicazione.

L'autenticazione con cookie è spesso utilizzata per la personalizzazione, dove il contenuto è personalizzato per un determinato utente. In alcuni di questi casi, l'identificazione risulta più importante dell'autenticazione. È quindi sufficiente memorizzare il nome utente in un cookie durevole da utilizzare per accedere alle informazioni di personalizzazione.

Autenticazione Windows integrata

L'autenticazione Windows integrata si basa su uno scambio crittografato con il programma Microsoft Internet Explorer dell'utente.

Tale autenticazione, in precedenza nota come autenticazione NT LAN Manager (NTLM) o autenticazione challenge/response di Windows NT, offre un livello di protezione superiore a quella di base ed è uno schema particolarmente adatto ad ambienti Intranet in cui gli utenti dispongono di account di dominio Windows.

Nell'autenticazione Windows integrata, il browser tenta di utilizzare le credenziali dell'utente corrente da un accesso al dominio. Se le credenziali vengono rifiutate, con l'autenticazione Windows integrata vengono richiesti un nome utente e una password mediante una finestra di dialogo. Quando si utilizza questo tipo di autenticazione, la password dell'utente non viene passata dal client al server. Se un utente si è connesso come utente di dominio su un computer locale, non sarà necessario ripetere l'autenticazione quando accede a un computer di rete in quel dominio.

All'utente non viene richiesto di inserire un nome utente e una password per ogni richiesta HTTP, ma la finestra di dialogo viene visualizzata solo quando le credenziali memorizzate nella cache non dispongono delle autorizzazioni sufficienti per l'accesso a un file o una pagina specifica.

Vedere anche

Protezione | Protezione basata sui ruoli in applicazioni gestite