di: Francesco Camarlinghi 19 Dicembre 2007
Il Membership Provider è il meccanismo messo a disposizione da ASP.NET 2.0 che permette di gestire l'autenticazione all'interno di una applicazione Webin modo completamente automatizzato, soprattutto se affiancato da controlli lato server come Login e LoginView.
In generale, quindi, non sarà più necessario scrivere manualmente tutta la logica di registrazione, login e di gestione degli utenti, compiti di cui si occuperà ASP.NET.
Un provider concettualmente non è niente di nuovo: è una classe che fa da tramite tra il database e l'applicazione Web.
Figura 1. Schema di un provider
Per chi sviluppa applicazioni di una certa complessità, che si interfacciano con basi di dati, questo approccio rimane sicuramente familiare: l'utilizzo di un provider permette, infatti, di raggiungere quel livello di astrazione necessario a far si che l'applicazione rimanga completamente indipendente dalla struttura fisica dei dati.
Lo sviluppatore, quindi, ha a che fare solamente con il provider e non deve necessariamente occuparsi dell'accesso ai dati, che dovrebbe poter essere indipendente e poter sfruttare un qualsiasi DBMS (o base di dati in genere). Tutto ciò di cui abbiamo bisogno per cambiare database è un nuovo provider scritto su misura per la fonte che vogliamo utilizzare (ad esempio: Sql Server, XML, file di testo, Web Service, solo per citarne alcune molto diverse tra loro).
La novità principale risiede nell'utilizzo che possiamo fare dei provider: utilizzare i servizi predefiniti di ASP.NET (Membership, Role, etc.) con database diversi da quello supportato in modo nativo (Sql Server), sfruttando quindi la potenza e la flessibilità degli oggetti che già esistono all'interno del Framework.
Una particolarità dei provider riguarda il loro ciclo di vita: quando l'applicazione Web viene avviata, ad esempio quando viene richiesta una pagina per la prima volta, ASP.NET cerca nel file Web.config quali sono i provider che devono essere caricati.
Il caricamento di un provider avviene tramite l'utilizzo di una classe statica, che funge anche da proxy fra la nostra applicazione ed il provider vero e proprio.
Una classe statica si è rivelata la scelta migliore per svolgere questo compito, in quanto viene creata all'avvio dell'applicazione e distrutta, escludendo situazioni particolari, quando questa viene fermata o riavviata. Per esempio la classe statica che si occupa di caricare i Membership Provider è System.Web.Security.Membership.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |