sinceramente non ho capito cosa stia succedendo in ogni caso cerco di spiegarti un po come funziona nel web config.
La stringa di conessione che punta al db ha un nome (sitecontext), quando con il membership e role providers vuoi puntare alle tabelle presenti in un database, che hai preparato precedentemente con aspnet_regsql.exe e che fa riferimento ad una stringa di connessione (sitecontext) devi specificarlo nel web config nei nodi di configurazione dei providers (sostituendo o modificando quelli di default):
codice:
<membership defaultProvider="SqlMembershipProvider">
<providers>
<clear/>
<add
name="SqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="sitecontext"
applicationName="NomeApplicazione" />
</providers>
</membership>
<rolemanager defaultProvider="SqlRoleProvider" enabled="true">
<providers>
<clear/>
<add
name="SqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="sitecontext"
applicationName="NomeApplicazione" />
</providers>
</membership>
Come puoi vedere tu stesso ai provider gli si da un nome, il tipo (che cambia rispetto a quello di default che era AspNetMembershipProvider) e la connectionstring del database senza cui SqlMembershipProvider (che come puoi intuire ha bisogno di connettersi a un db) non puo funzionare. In altre parole sei tu che controlli.