2009-09-15 6 views
1

Puis-je spécifier une base de données différente de ASPNETDB en utilisant SqlMembershipProvider? Je développe un site sur un hôte partagé, et je dois limiter mon schéma de données à une seule base de données fournie.Est-il possible d'utiliser un nom de base de données différent avec SqlMembershipProvider

J'ai été grondé la dernière fois que j'ai suggéré de rouler mon propre code d'authentification.

Sinon, existe-t-il un autre système d'authentification empaqueté que je pourrais installer et configurer pour utiliser une base de données arbitraire et des tables d'asp.net?

Répondre

4

Vous pouvez installer le schéma d'adhésion ASP.Net à une base de données SQL en utilisant le aspnet_regsql command line tool.

Vous pouvez également spécifier une chaîne de connexion que vous souhaitez pour votre fournisseur d'appartenances. Ajoutez simplement quelque chose comme ceci à votre déclaration d'adhésion dans votre fichier 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> 
1

La réponse précédente est en grande partie correcte, mais j'avais un problème jusqu'à ce que je me suis qualifié pleinement la valeur « Type » pour être « System.Web .Security.SqlMembershipProvider ".

<membership defaultProvider="MyProvider"> 
    <providers> 
    <add connectionStringName="MyProvider" 
     applicationName="/Test" 
     description="MyProvider" 
     name="MyProvider" 
     type="System.Web.Security.SqlMembershipProvider" /> 
    </providers> 
</membership> 
Questions connexes