È possibile utilizzare un nome di database diverso con SqlMembershipProvider
-
07-07-2019 - |
Domanda
Posso specificare un database diverso da ASPNETDB
usando SqlMembershipProvider
? Sto sviluppando un sito su un host condiviso e devo limitare il mio schema di dati a un unico database fornito.
L'ultima volta che ho suggerito di rullare il mio codice di autenticazione mi è stato sgridato per intero.
In alternativa, c'è qualche altro sistema di autenticazione in pacchetto che posso inserire e configurare per utilizzare un database e le tabelle arbitrarie da asp.net?
Soluzione
È possibile installare lo schema di appartenenza ASP.Net su qualsiasi database SQL utilizzando strumento da riga di comando aspnet_regsql.
Puoi anche specificare qualsiasi stringa di connessione che desideri per il tuo provider di appartenenza. Aggiungi semplicemente qualcosa del genere alla tua dichiarazione di appartenenza nel tuo file web.config:
<connectionStrings>
<add name="MyConnectionString" connectionString="Database=MyDatabase;Server=xxx;User=xxx;Pwd=xxx;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<membership defaultProvider="MyProvider">
<providers>
<add connectionStringName="MyConnectionString" applicationName="/Test"
description="MyProvider" name="MyProvider" type="SqlMembershipProvider" />
</providers>
</membership>
Altri suggerimenti
La risposta precedente è in gran parte corretta, ma ho avuto un problema fino a quando non ho pienamente qualificato il "Tipo" valore da " System.Web.Security.SqlMembershipProvider " ;.
<membership defaultProvider="MyProvider">
<providers>
<add connectionStringName="MyProvider"
applicationName="/Test"
description="MyProvider"
name="MyProvider"
type="System.Web.Security.SqlMembershipProvider" />
</providers>
</membership>