2009-05-11 14 views
0

Ich habe ein asp.net Web-Projekt, ich arbeite an und fand meine Rollen und solche sind in einer .mdf-Datei gespeichert. Beim Lesen auf versuchen, es über SQL Management Studio (mit SQLExpress 2005) zu verbinden, fand ich diesen Artikel:ASP.NET SQL Server-Setup-Assistent

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

Nun ist meine Frage - soll ich das tun? Ich werde die Website nach Fertigstellung auf einen Hosting-Provider hochladen und möchte, dass der Prozess so reibungslos wie möglich abläuft.

Wird normalerweise die MDF-Datei zusammen mit der Website auf den Server verschoben oder ist es besser, die Informationen in SQL Server selbst zu speichern? Ich habe bereits eine DB für die Website ... kann ich die Rolleninformationen von asp.net in meine eigene DB integrieren, so dass ich nur eine einzelne DB verwalten muss?

Dank für das Lesen, ~~ Kolten

Antwort

1

den Mitgliedschaftsanbieter ASP.NET zu verwenden ist eine gültige Art und Weise Ihren Benutzer credientials der Verwaltung. Das Hochladen der MDF-Datei birgt das Risiko, dass jemand Ihre MDF-Datei abrufen und alle Ihre Benutzerdetails abrufen kann. Wenn dies in einer SQL-Datenbank gespeichert wird, die von Ihrer Hosting-Umgebung bereitgestellt wird, ist dies in der Regel sicherer, sofern die Verbindungsdetails nicht kompromittiert werden und Sie sich SQL Injection-Angriffen nicht aussetzen und Ihr Provider sich auch nicht aussetzt SQL-Injection-Angriffe.

Die Mitgliedschaftsinformationen können in derselben Datenbank wie der Rest der Anwendung gespeichert werden, solange keine Namenskonflikte mit den Mitgliedschaftstabellen bestehen. Sie können die erforderlichen Tabellen erstellen, indem Sie die Datenbankverbindungsdetails in der aspnet_regsql-Befehlszeile angeben.

In Ihrer Datei web.config müssen Sie den Rollenmanager und die Mitgliedschaftsanbieter ändern, damit Sie die zu verwendende Verbindungszeichenfolge angeben können. d.h.

<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>