Blog Stats
  • Posts - 171
  • Articles - 1
  • Comments - 197
  • Trackbacks - 5

 

Membership/Roles su sql express o sql server 2005...

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" />
   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" />
   connectionStrings>

  • lancio aspnet_regsql.exe(in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727) il quale mi consente di creare o aggiornare un database con le tabelle e le stored procedure per gestire users e ruoli nel modo previsto da providers di default di asp.net 2.0
  • a questo punto posso configurare utenti e ruoli attraverso il WSAT.

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...


Feedback

# Utilizzare il proprio database per la gestione degli utenti con ASP .NET

Gravatar Utilizzare il proprio database per la gestione degli utenti con ASP .NET 02/09/2008 20:42 | Around and About .NET World

Comments have been closed on this topic.
 

 

Copyright © Luca Mauri