2009-05-11 4 views
0

J'ai un projet web asp.net sur lequel je travaille et j'ai découvert mes rôles et ceux-ci sont stockés dans un fichier .mdf. Lors de la lecture sur la tentative de connexion via SQL Management Studio (à l'aide SQLExpress 2005), je trouve cet article:Assistant de configuration SQL Server ASP.NET

https://help.maximumasp.com/SmarterTicket/Customer/KBArticle.aspx?articleid=878

Maintenant, ma question est - dois-je faire cela? Je vais télécharger le site Web à un fournisseur d'hébergement lorsque vous avez terminé, et je voudrais que le processus soit aussi lisse que possible.

Est-ce que normalement il suffit de déplacer le fichier MDF sur le serveur avec le site Web, ou est-il préférable d'avoir les informations stockées dans SQL Server lui-même? J'ai déjà une base de données pour le site web ... puis-je intégrer les informations de rôle d'asp.net dans ma propre base de données afin de n'avoir qu'une seule base de données à gérer?

Merci pour la lecture, ~~ Kolten

Répondre

1

Utilisation du fournisseur d'appartenances ASP.NET est un moyen valable de gérer vos credientials utilisateur. Le téléchargement du fichier MDF présente le risque que quelqu'un puisse obtenir votre fichier MDF et obtenir tous les détails de vos utilisateurs. Le stockage dans une base de données SQL fournie par votre environnement d'hébergement serait généralement plus sécurisé, à condition que les détails de connexion ne soient pas compromis et que vous ne vous exposez pas aux attaques par injection SQL, et que votre fournisseur ne s'expose pas non plus. Attaques par injection SQL. Les informations d'appartenance peuvent être stockées dans la même base de données que le reste de votre application tant qu'il n'y a pas de conflit de nom avec les tables d'appartenance. Vous pouvez créer les tables requises en spécifiant les détails de connexion à votre base de données sur la ligne de commande aspnet_regsql.

À l'intérieur de votre fichier web.config, vous devez modifier le roleManager et les fournisseurs d'appartenances afin de pouvoir spécifier la chaîne de connexion à utiliser. c'est-à-dire

<system.web> 
    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> 
     <providers> 
     <remove name="AspNetSqlRoleProvider" /> 
     <add name="AspNetSqlRoleProvider" connectionStringName="MembershipSQLConnectionString" 
      applicationName="/" 
      type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
    </roleManager> 
</system.web>