Ich schreibe derzeit eine benutzerdefinierte Mitgliedschaft Provider für Asp. NET und das Problem, das ich habe, ist, dass ich nicht weiß, wie Sie die benutzerdefinierten Mitgliedschaft Provider in der geben Die gleiche Weise, die Sie den standardmäßigen .net-Mitgliedschaftsprovidern in der web.config-Datei wie der Passwortlänge geben.Asp. Net Benutzerdefinierte Mitgliedschaft Parameter von web.config
Antwort
Wenn Sie Ihre eigene Klasse von MembershipProvider
leiten Sie die Initialize()
Methode außer Kraft zu setzen haben, ist es nach der Unterzeichnung hat:
public override void Initialize(string name, NameValueCollection config);
Die System.Collections.NameValueCollection
ist ein Wörterbuch, in dem Sie die Optionen in der web.config
Datei geschrieben finden. Diese Optionen werden auf dieselbe Weise angegeben wie Optionen für "Standard" -Anbieter (als Attribute). Jeder Wörterbucheintrag hat den Schlüssel des Attributnamens und als Wert den Wert des Attributs (wie string
).
public class MyMembershipProvider : MembershipProvider
{
public override void Initialize(string name, NameValueCollection config)
{
base.Initialize(name, config);
_enablePasswordReset = config.GetBoolean("enablePasswordReset", true);
}
}
Wo, in meinem Beispiel GetBoolean()
ist eine Erweiterung Methode irgendwo wie folgt erklärt:
public static bool GetBoolean(this NameValueCollection config,
string valueName, bool? defaultValue)
{
object obj = config[valueName];
if (obj == null)
{
if (!defaultValue.HasValue)
throw new WarningException("Required field has not been specified.");
return defaultValue.Value;
}
bool value = defaultValue;
if (obj is Boolean)
return (bool)obj;
IConvertible convertible = obj as IConvertible;
try
{
return convertible.ToBoolean(CultureInfo.InvariantCulture);
}
catch (Exception)
{
if (!defaultValue.HasValue)
throw new WarningException("Required field has invalid format.");
return defaultValue.Value;
}
}
Wenn Ihr Provider von MembershipProvider : ProviderBase
abgeleitet wird, dann sollte die gesamte Konfiguration von web.config geladen und angewendet werden.
Betrachten Sie die Implementierung von benutzerdefinierten IPrincipal
und/oder IIdentity
- es ist manchmal ein besserer Erweiterungspunkt und da nicht jeder davon bewusst ist, wird es oft nicht verwendet.
In gleicher Weise können Sie den Standard .net Mitgliedschaft definieren:
<membership defaultProvider="MyCustomMembershipProvider" userIsOnlineTimeWindow="30">
<providers>
<clear />
<add name="MyCustomMembershipProvider" type="Namespace.MyCustomMembershipProvider" connectionStringName="db_ConnectionString" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
<add name="StandardMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="db_ConnectionString" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
</providers>
</membership>
- 1. ASP.NET MVC Benutzerdefinierte Mitgliedschaft Provider Web.config Fehler
- 2. Problem mit asp Mitgliedschaft
- 3. ASP.NET-Mitgliedschaft Rollen Web.config Einstellungen
- 4. .NET-Mitgliedschaft
- 5. .NET Benutzerdefinierte Mitgliedschaft Vs. Benutzerdefinierte Anmeldung/Registrierung: Authentifizierung/Autorisierung
- 6. Sperren eines Benutzers in einem ASP. NET-Anbieter für benutzerdefinierte Mitgliedschaft
- 7. Warum brauchen wir web.config in ASP .NET 5 wwwroot?
- 8. Benutzerdefinierte Sortierung auf UltraWebGrid - ASP .NET
- 9. Login Mitgliedschaft. NET
- 10. . NET Mitgliedschaft in nTier App
- 11. 301 Redirect in ASP.NET web.config einschließlich Parameter
- 12. Benutzereinschränkungen für zugehörige Daten in ASP-Mitgliedschaft
- 13. Asp mvc 4 Mitgliedschaft und WebSecurity
- 14. Asp. NET-Mvc-Autorisierung
- 15. web.config benutzerdefinierte Abschnitt Vererbung
- 16. .NET Mitgliedschaft Login ReturnUrl Override
- 17. Benutzerdefinierte web.config Abschnitte (ASP.NET)
- 18. ASP NET Caching
- 19. CORS in ASP .NET MVC5
- 20. Benutzerdefinierte ASP Bindungsmechanismus Problem
- 21. Lesen von Einstellungen aus app.config oder web.config in .net
- 22. ASP .NET Session Serialisierungskosten!
- 23. ASP .Net & Session
- 24. ASP.NET MVC benutzerdefinierte Mitgliedschaft für Anfänger
- 25. Möglich, system.web/Mitgliedschaft/Anbieter in Web.config zu verschlüsseln?
- 26. asp Server.Transfer setzen Parameter
- 27. Login-Steuerelement und benutzerdefinierte Mitgliedschaft Provider
- 28. Unabhängiger (ASP) .net-Objektcache?
- 29. Tag-Suchbibliothek (ASP). NET
- 30. Asp. Net File Caching
Dies ist genau wie ich es in der Vergangenheit getan habe, nachdem Sie 'base.Initialize' aufgerufen haben, füllen Sie den Rest Ihrer Konfigurationswerte aus, setzen Sie geeignete Standardeinstellungen oder werfen Sie Ausnahmen, wie für fehlende obligatorische Parameter erforderlich. –