ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole .NET MVP
Di cosa parleremo ASP.NET Autenticazione ASP.NET Sicurezza Metodi offerti da ASP.NET ASP.NET Sicurezza Ruoli in ASP.NET
Prerequisiti Livello 100 Informazioni generali sul .NET Framework Concetti base di programmazione Nozioni base su ASP.NET Livello 100
Demo Form-based authentication Roles based security
Agenda Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli
Autenticazione e Autorizzazione Credenziali Coppia di valori User Id e Password Permette di verificare l’identità di un’entità Autorizzazione Definisce a quali risorse un’entità può accedere “veste su misura” la nostra applicazione per l’entità autenticata
Autenticazione e Autorizzazione ASP.NET lavora in collaborazione con IIS per fornire l’autenticazione ad una applicazione web Il servizio di autenticazione di ASP.NET è soggetto ai servizi di autenticazione forniti da IIS ASP.NET fornisce due tipi di autorizzazione: Controllo della ACL o dei permessi su una risorsa Utilizzata in ogni caso quando si accede a file Autorizzazione su URL
Agenda Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli
Metodi di autenticazione None Nessun servizio di autenticazione ASP.NET attivo IIS -> qualsiasi impostazione Windows Utilizza le metodologie di accesso di windows IIS qualsiasi impostazione (base, Digest, Integrated) Forms Tramite cookies e redirect IIS anonymous Passport Wrapper ai servizi forniti dal Passport SDK che deve essere installato nella macchina
Metodi di autenticazione Autenticazione “None” ASP.NET non fornisce alcun servizio di autenticazione. Restano comunque attivi i servizi di IIS Impostazioni Web.Config <authentication mode=“None” />
Metodi di autenticazione Autenticazione Windows-based ASP.NET collega un oggetto di tipo WindowsPrincipal all request Impostazioni Web.Config <authentication mode=“Windows” />
Metodi di autenticazione Autenticazione Forms-based ASP.NET tramite cookies gestisce l’autenticazione dell’utente Se l’utente non è autenticato esegue un redirect verso al pagina di login Impostazioni Web.Config <authentication mode=“Forms”> <forms name=“.mioCookie” loginUrl=“Login.aspx” protection=“All” timeout=“30” path=“/”> <credentials passwordFormat=“Clear”> <user name=“Utente1” password=“ABCD” /> ……. <user name=“Utenten” password=“ABCDn” /> </credentials </forms </authentication>
Metodi di autenticazione Autenticazione Passport ASP.NET utilizza I servizi forniti dal Passport SDK che deve essere installato nel server web. Impostazioni Web.Config <authentication mode=“Passport”> <passport redirectUrl=“Login.aspx” /> </authentication>
Demo Forms-based authentication
Agenda Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli
Sicurezza basata sui ruoli ASP.NET fornisce un servizio di autorizzazione basato sui ruoli Gestisce l’acceso alle risorse della web application (URL) Configurabile per I metodi HTTP (GET e POST) Permette di concedere o negare l’accesso a utenti o gruppi di utenti Impostazioni Web.Config <authorization> <allow users=“davide@asp.net” /> <allow rolse=“admin” /> <allow VERB=“POST” users=“*” /> <deny users=“*” /> <deny VERB=“GET” users=“*” /> </authorization> Utenti speciali * tutti gli utenti ? utenti anonimi
Demo Roles based security
Account Impersonation Possibilità di attribuire un contesto di sicurezza diverso ad un thread rispetto a quello del processo a cui appartiene ASP.NET di default non fornisce la possibilità di avere request con contesti di sicurezza diversi per ogni richiesta Per cambiare l’impostazione di default utilizzare <identity impersonate=“true” /> Contro nell’uso dell’impersonate: Tutti gli account devono avere accesso in lettura e scrittura alla directory di compilazione dell’applicazione Stessa cosa per la Global Assembly Cache GAC quindi alla directory %Windir%\assembly Consiglio Utilizzarlo solo se non c’è un’altra soluzione (es. Compatibilità con una applicazione ASP o per utilizzare dei servizi di autenticazione di Windows)
Riepilogo Autenticazione e Autorizzazione Metodi di autenticazione Metodi di autorizzazione
Community news.microsoft.com Comunità degli sviluppatori microsoft.public.it.dotet.asp microsoft.public.it.dotnet.* Comunità degli sviluppatori http://www.microsoft.com/italy/msdn/community/default.asp
MSDN Webcasts in italiano Stay tuned http://www.microsoft.com/italy/msdn/webcast/default.asp