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
 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

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


Windows

Utilizza le metodologie di accesso di windows


IIS  qualsiasi impostazione (base, Digest, Integrated)
Forms

Tramite cookies e redirect


IIS -> qualsiasi impostazione
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


Contro nell’uso dell’impersonate:



<identity impersonate=“true” />
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 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
Scarica

Slide 1 - Microsoft