1. Wir haben keinen echten Server, wir mieten nur .net2.0 + SQLserver-Speicherplatz und der Name der SQL-Datenbank ist festgelegt.
2. Es ist dem Speicherplatzanbieter nicht möglich, die Datenquelle für uns festzulegen oder Ihnen die Berechtigungen für die aspnetdb-Datenbank zu erteilen.
3. Wir haben keine WindowsMicrosoft.NetFrameworkv2.xConfig-Berechtigungen auf dem Server.
Wenn Sie die oben genannten drei Punkte kennen und das lokal getestete Projekt direkt auf den Server übertragen, tritt definitiv ein Fehler auf (da es standardmäßig WindowsMicrosoft.NetFrameworkv2.xConfig aufruft). Die Lösung besteht darin: Nachdem alle Inhalte der aspnetdb-Datenbank in Ihre eigene Remote-SQL-Datenbank importiert wurden, definieren Sie die Datenbankverbindungszeichenfolge „web.config“ des Projekts.
web.config
<?xml version="1.0"?>
<!--
Hinweis: Anstatt diese Datei manuell zu bearbeiten, können Sie sie auch verwenden
Webverwaltungstool zum Konfigurieren der Anwendungseinstellungen. Sie können die verwenden
„Website“ -> Option „Asp.Net-Konfiguration“.
Eine vollständige Liste der Einstellungen und Anmerkungen finden Sie unter
machine.config.comments, die sich normalerweise in befindet
WindowsMicrosoft.NetFrameworkv2.xConfig
->
<configuration xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--Datenbankverbindung definieren-->
<add name="DbName" ConnectionString="Persist Security Info=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connectionStrings>
<appSettings>
</appSettings>
<system.web>
<!--
ConnectionStringName-Datenbankverbindung. Dies muss in web.config festgelegt werden
enablePasswordRetrieval Ruft einen Wert ab, der angibt, ob der aktuelle Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Passwörter abrufen können.
enablePasswordReset Ruft einen Wert ab, der angibt, ob der aktuelle Mitgliedschaftsanbieter so konfiguriert ist, dass Benutzer ihre Passwörter zurücksetzen können.
requireQuestionAndAnswer Ruft einen Wert ab, der angibt, ob der Standardmitgliedschaftsanbieter von Benutzern die Beantwortung einer Passwortfrage zum Zurücksetzen und Abrufen des Passworts verlangt.
applicationName ruft den Namen der Anwendung ab oder legt ihn fest.
requireUniqueEmail Gibt an, ob der Benutzer beim Erstellen des Benutzers einen eindeutigen E-Mail-Adresswert angeben muss.
„passwordFormat“ gibt das Format an, in dem Passwörter im Mitgliedsdatenspeicher gespeichert werden. Detaillierte Anweisungen unten
maxInvalidPasswordAttempts Ruft die Anzahl der zulässigen ungültigen Passwörter oder Antwortversuche mit ungültigen Passwörtern ab, bevor der Benutzer von der Mitgliedschaft ausgeschlossen wird.
minRequiredPasswordLength Ruft die für ein Passwort erforderliche Mindestlänge ab.
minRequiredNonalphanumericCharacters Ruft die Mindestanzahl an Sonderzeichen ab, die in einem gültigen Passwort enthalten sein müssen.
PasswordAttemptWindow Ruft die maximal zulässige Anzahl ungültiger Passwörter oder ungültiger Passwort-Antwortversuche in Minuten ab, bevor der Mitgliedschaftsbenutzer gesperrt wird.
Detaillierte Beschreibung von PasswordFormat
Eigenschaft, die das Format angibt, in dem Passwörter gespeichert werden. Passwörter können in den Formaten Klar, Verschlüsselt und Hash gespeichert werden. Klare Passwörter werden im Klartext gespeichert, was die Leistung beim Speichern und Abrufen von Passwörtern verbessert, aber weniger sicher ist und leicht gelesen werden kann, wenn die Sicherheit der Datenquelle gefährdet ist. Verschlüsselte Passwörter werden beim Speichern verschlüsselt und können beim Vergleichen oder Abrufen von Passwörtern entschlüsselt werden. Solche Passwörter erfordern beim Speichern und Abrufen eine zusätzliche Verarbeitung, sind jedoch sicherer und können nicht einfach wiederhergestellt werden, wenn die Sicherheit der Datenquelle gefährdet ist. Gehashte Passwörter werden mithilfe eines Einweg-Hashing-Algorithmus und eines zufällig generierten Salt-Werts gehasht, wenn sie in der Datenbank gespeichert werden. Wenn ein Passwort überprüft wird, wird das Passwort zur Überprüfung mit dem Salt-Wert in der Datenbank gehasht. Das gehashte Passwort kann nicht abgerufen werden.
->
<roleManager aktiviert="true" />
<Mitgliedschaft>
<Anbieter>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
ConnectionStringName="DbName"
enablePasswordRetrieval="false"
enablePasswordReset="true"
erfordertQuestionAndAnswer="true"
applicationName="/"
erfordertUniqueEmail="false"
passwortFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwortAttemptWindow="10"
passwortStrengthRegularExpression="" />
</providers>
</Mitgliedschaft>
<!--
Legen Sie „compilation debug="true" fest, um Debug-Symbole einzufügen
auf der kompilierten Seite. Aber da wird das so sein
Beeinflusst die Leistung und sollte daher nur während der Entwicklung festgelegt werden
diesen Wert.
Visual Basic-Optionen:
Durch die Einstellung strict="true" werden alle deaktiviert
Typkonvertierung mit Datenverlust.
Durch die Einstellung „explicit="true" wird die Deklaration aller Variablen erzwungen.
->
<compilation debug="true" strict="false" explizit="true"/>
<Seiten>
<Namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<!--
Im Abschnitt <authentication> können Sie Folgendes konfigurieren
sicherer Authentifizierungsmodus,
um den eingehenden Benutzer zu identifizieren.
->
<authentication mode="Forms" />
<!--
Wenn beim Ausführen der Anfrage ein unbehandelter Fehler auftritt,
Die entsprechenden Verarbeitungsschritte können über den Abschnitt <customErrors> konfiguriert werden. Speziell,
Entwickler können diesen Abschnitt konfigurieren
HTML-Fehlerseite zur Anzeige
um den Fehler-Stack-Trace zu ersetzen.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" weitergeleitet="NoAccess.htm" />
<error statusCode="404" weitergeleitet="FileNotFound.htm" />
</customErrors>
->
</system.web>
</configuration>
Hinweis: Der Kommentar zum Mitgliedschaftsknoten wird wiedergegeben, ich habe die Adresse vergessen.
http://lcx.cnblogs.com/archive/2006/06/29/438836.html