Come posso utilizzare un database personalizzato per l’autenticazione?

Utente HTML.it
chiede

Come posso utilizzare un database personalizzato per l’autenticazione?

Redazione HTML.it
risponde

Per impostazione predefinita, ASP.NET utilizza il database aspnetdb presente all’interno dell’istanza di SQL Server Express installata nella stessa macchina dell’applicazione web per gestire l’autenticazione (creazione di utenti e ruoli, verifica delle credenziali, ecc.). Se invece, si vuole utilizzare un database diverso, eventualmente su un’altra istanza di SQL Server, si deve innanzi tutto avviare il programma aspnet_regsql.exe, presente nella directory C:WindowsMicrosoft.NETFrameworkv2.0.50727. Grazie ad esso, è possibile selezionare l’istanza di SQL Server in cui creare il database aspnetdb, oppure aggiungere le tabelle necessarie all’autenticazione ad un DB già esistente.

Fatto questo, si deve configurare l’applicazione web perché utilizzi il nuovo database, aggiungendo le apposite istruzioni nel file web.config, ad esempio:

<connectionStrings>
  <remove name="LocalSqlServer"/>
  <add name="LocalSqlServer"
     connectionString="server=SERVER_ADDR;database=DB_NAME;integrated security=SSPI;"/>
</connectionStrings>

Il tag remove serve per rimuovere l’impostazione predefinita per la chiave LocalSqlServer, che è contenuta nel file machine.config ed è utilizzata da ASP.NET per connettersi al database con le informazioni di autenticazione. Il tag successivo ridefinisce tale chiave, specificando la nuova stringa di connessione da impiegare.