ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

21
ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole .NET MVP

Transcript of ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Page 1: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

ASP.NET – Autenticazione e Sicurezza basata sui ruoli

Davide Vernole.NET MVP

Page 2: 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

Page 3: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Prerequisiti

Livello 100Livello 100

Informazioni generali sul .NET Framework

Concetti base di programmazione Nozioni base su ASP.NET

Page 4: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Demo

Form-based authentication Roles based security

Page 5: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Agenda

Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli

Page 6: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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

Page 7: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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

Page 8: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Agenda

Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli

Page 9: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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

Page 10: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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” />

Page 11: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Metodi di autenticazione Autenticazione Windows-based

ASP.NET collega un oggetto di tipo WindowsPrincipal all request

Impostazioni Web.Config <authentication mode=“Windows” />

Page 12: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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>

Page 13: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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>

Page 14: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Demo Forms-based authentication

Page 15: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Agenda

Autenticazione e Autorizzazione Metodi di Autenticazione Sicurezza basata sui ruoli

Page 16: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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

Page 17: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Demo Roles based security

Page 18: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

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)

Page 19: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Riepilogo Autenticazione e Autorizzazione Metodi di autenticazione Metodi di autorizzazione

Page 20: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

Community news.microsoft.com

microsoft.public.it.dotet.asp

microsoft.public.it.dotnet.*

Comunità degli sviluppatorihttp://www.microsoft.com/italy/msdn/community/default.asp

Page 21: ASP.NET – Autenticazione e Sicurezza basata sui ruoli Davide Vernole.NET MVP.

MSDN Webcasts in italiano

Stay tuned

http://www.microsoft.com/italy/msdn/webcast/default.asp