3 pagine in totale: <<Indietro 1 2 [3]
Configuriamo la fonte dei dati
Se volessimo personalizzare il database utilizzato dalla nostra web application dobbiamo modificare il web.config, a mano o attraverso il tool visuale che viene aggiunto ad IIS:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="MioDatabase" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\prova.mdf;Integrated Security=True; User Instance=True" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider">
<providers>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="MioDatabase"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
/>
</providers>
</membership>
</system.web>
</configuration>
Notare le sezione connectionString, all'interno della quale abbiamo inserito la stringa di connessione ad un database di nome prova.mdf. Date un'occhiata alla sintassi con cui è scritto il percorso del database:
|DataDirectory|/prova.mdfInserendo la stringa |DataDirectory| specifichiamo la directory App_Data"all'interno della web application attuale. Non è possibile specificare in nessun altro modo un percorso relativo all'interno di questa stringa. L'alternativa è il classico percorso assoluto:
c:\inetpub\wwwroot\mio_web\App_Data\prova.mdf"Per SQL Server sarà sufficiente modificare la stringa di connessione:
<connectionStrings>
<add name="MioDatabase" connectionString="Data Source=nomeserver; Initial Catalog=aspnetdb; User Id=sa; Password=xxx;" />
</connectionStrings>
Prima di poter utilizzare SQL Server come database per la memorizzazione dei dati è necessario creare un database all'interno di esso con una procedura apposita. La più semplice è andare dal prompt dei comandi all'interno della directory contenente il .NET Framework 2.0 e lanciare il comando:
Aspnet_regsql.exeNel web.config per la definizione del provider abbiamo definito alcune proprietà. Vediamole nel dettaglio:
- connectionStringName: nome della connessione definita nella sezione connectionStrings;
- name: nome del provider, da utilizzare con l'attributo defaultProvider nella sezione Membership;
- requiresQuestionAndAnswer: per la creazione di un utente non viene chiesta la domanda e la risposta per il recupero delle credenziali;
- minRequiredPasswordLength: lunghezza minima della password;
- minRequiredNonalphanumericCharacters: numero di caratteri non alfanumerici richiesti per la password;
- applicationName: path dell'applicazione;
- requiresUniqueEmail: se impostata a "true", non sarà possibile memorizzare più utente con la stessa mail;
- passwordFormat: metodo di memorizzazione della password nel database. Possiamo inserire le seguenti impostazioni:
- Hashed: dalla password viene creata una stringa alfanumerica da cui non è possibile risalire al testo reale della password. In questo caso non sarà più possibile comunicare la password qualora un utente la ne facesse richiesta;
- Clear: la password viene memorizzata in chiaro;
- Encrypted: la password viene crittografata.
- enablePasswordRetrieval: permette il recupero della password;
- enablePasswordReset: permette il reset della password;
- type: membership provider utilizzato.
Notare inoltre l'attributo defaultProvider nella sezione <membership />. Nella sezione providers possiamo infatti inserire più di un provider e grazie a questo attributo possiamo specificare quale utilizzare.
Gli esempi
Alla fine di questo articolo potete trovare i link per due esempi che mettono in pratica quanto spiegato finora. Nel primo vengono utilizzati i nuovi Security Server Controls. Totale linee di codice scritto: zero.
Nel secondo c'è un esempio di autenticazione con roles che utilizza per la creazione e la gestione degli utenti le API Membership e Roles. Di facile utilizzo, permette la creazione di utenti con assegnazione dei roles e sono presenti tre link con tre zone d'accesso con diversi privilegi.
Conclusioni
Le novità introdotte con questa nuova versione del .NET Framework sono numerose e finalmente sono state aggiunte molte mancanze presenti nelle versioni 1.x.
I programmatori Microsoft hanno voluto dare un grosso aiuto agli sviluppatori web inserendo strumenti, web control e classi che facilitano notevolmente il lavoro.
Il nuovo sviluppo a provider facilita anche personalizzazioni "estreme" della nostra web application. Nel prossimo articolo di questa serie che ci terrà compagnia nei prossimi mesi vedremo un semplice esempio di un provider personalizzato per la gestione della membership.
Tutti gli articoli dello speciale su ASP.NET 2.0
- ASP.NET 2.0: Visual Web Developer, architettura e nuove funzionalità di Daniele Bochicchio
- Controlli DataSource in ASP.NET 2.0 di Cristian Civera
- Master Pages, temi e controlli standard in ASP.NET 2.0 di Riccardo Golia
- Membership e Roles API: autenticazione, autorizzazione e gestione dei ruoli con ASP.NET 2.0 di Andrea Zani
- I meccanismi di caching in ASP.NET 2.0 di Stefano Mostarda
3 pagine in totale: <<Indietro 1 2 [3]
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Stampa
Download



