Ho fatto un po di esperimenti per capire come utilizzare le membership users e roles sia su database sql express che sql server 2005.
1) Voglio utilizzare un database Sql Express, lo chiamo MyDatabase.mdf e voglio gestire utenti e ruoli tramite lo schema ed i provider di default di asp.net 2.0:
- apro il web.config e imposto la nuova stringa di connessione
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|MyDatabase.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
< FONT>connectionStrings>
Se guardate nel machine.config infatti vedrete che la chiave impostata per la stringa di connessione di default
è proprio LocalSqlServer e viene utilizzata nelle dichiarazioni dei provider di Membership e Roles.
- apro il WSAT(Web Site Administration Tool)
- clicco su security
- in automatico viene creata la cartella app_data ed al suo interno il database MyDatabase.mdf, con già comprese tutte le tabelle e le stored procedure per gestire roles e membership users.
- posso quindi procedere con il wizard alla configurazione della sicurezza, creando gli utenti, i ruoli e le autorizzazioni alle varie cartelle del sito.
2) Voglio utilizzare un database su Sql Server 2005, lo chiamo MyDatabase.mdf e voglio gestire utenti e ruoli tramite lo schema ed i provider di default di asp.net 2.0:
- apro il web.config e imposto la nuova stringa di connessione
<
connectionStrings>
<remove name="
LocalSqlServer"
/>
<add name="
LocalSqlServer"
connectionString="
Data Source=MYSERVER;Integrated
Security=SSPI;Initial Catalog=MyDatabase"
providerName="
System.Data.SqlClient"
/>
< FONT>connectionStrings>
Ovviamente se volessi utilizzare i mie provider custom per le membership di users e ruoli, il tutto resta invariato se non per il fatto che nel web.config, oppure sempre attraverso il WSAT, devo configurare i miei nuovi providers.
Inoltre posso usare aspnet_regsql.exe anche per creare dei database sotto sql express.In questo caso nel tool basterà specificare l'instanza .\SQLEXPRESS ed il nome del database.
Unica nota negativa è che l'utilizzo di WSAT provoca il problema della perdita dell'uso dell'intellisense nel web.config(a causa del namespace xmlns=http://schemas.microsoft.com/.NetConfiguration/v2.0 che applica sulla root di configuration) e che non mantiene alcune indentazioni...