In einer ASP.net Web-Anwendung ich folgende Mitgliedschaftsanbieter in der web.config definiert haben:requiresQuestionAndAnswer auf false in web.config gesetzt, aber RequiresQuestionAndAnswer gilt zur Laufzeit
<membership>
<providers>
<add connectionStringName="MyServer" name="MyServer" type="System.Web.Security.SqlMembershipProvider"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
enablePasswordRetrieval="false" />
</providers>
</membership>
Wenn ich ausführen, um die Anwendung in der Debugger ist die Eigenschaft Membership.Provider.RequiresQuestionAndAnswer
true
.
Warum? Und wie kann ich das beheben?
Update: Ar tuntime, die Membership.Providers
Sammlung enthält zwei Instanzen von Provider, die fast identisch sind. Die Unterschiede sind:
- Der erste Name des hat == "AspNetSqlMembershipProvider" und RequiresQuestionAndAnswer == true
- Der zweite Name des hat == "MyServer" und RequiresQuestionAndAnswer == false.
Jetzt versuchen herauszufinden, woher der erste kommt.
Stimmt der Provider-Name im Debugger mit dem Namen Ihres Providers ("MyServer") überein? –
@MeidanAlon der Provider-Name im Debugger scheint "AspNetSqlMembershipProvider" zu sein. Gleichzeitig zeigt es die korrekte SQL-Verbindungszeichenfolge an, so dass es aussieht, als wäre es die richtige. – urig
Das ist seltsam, ich würde versuchen, defaultProvider = "MyServer" innerhalb der Mitgliedschaft und zu –