ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole .NET MVP
ASP.NET – Autenticazione e Sicurezza basata sui ruoli
Davide Vernole.NET MVP
Di cosa parleremo ASP.NET Autenticazione
Metodi offerti da ASP.NET
ASP.NET Sicurezza Ruoli in ASP.NET
Prerequisiti
Livello 100Livello 100
Informazioni generali sul .NET Framework
Concetti base di programmazione Nozioni base su ASP.NET
Demo
Form-based authentication Roles based security
Agenda
Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli
Autenticazione e Autorizzazione
Autenticazione 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 IIS anonymous
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=“[email protected]” /><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
microsoft.public.it.dotet.asp
microsoft.public.it.dotnet.*
Comunità degli sviluppatorihttp://www.microsoft.com/italy/msdn/community/default.asp
MSDN Webcasts in italiano
Stay tuned
http://www.microsoft.com/italy/msdn/webcast/default.asp