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

Post on 03-May-2015

218 views 4 download

Transcript of 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=“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

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