Membership Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Valideert gebruikersreferenties en beheert gebruikersinstellingen. Deze klasse kan niet worden overgenomen.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- Overname
-
Membership
Voorbeelden
In het volgende codevoorbeeld ziet u de aanmeldingspagina voor een ASP.NET toepassing die is geconfigureerd voor het gebruik van formulierverificatie en ASP.NET lidmaatschap. Als de opgegeven gebruikersreferenties ongeldig zijn, wordt er een bericht weergegeven aan de gebruiker. Anders wordt de gebruiker omgeleid naar de oorspronkelijk aangevraagde URL met behulp van de RedirectFromLoginPage methode.
Note
De ASP.NET besturingselementen voor aanmelding (Login, LoginView, LoginStatus, LoginName en PasswordRecovery) bevat vrijwel alle logica die nodig is om gebruikers om referenties te vragen en de referenties in het lidmaatschapssysteem te valideren en kunnen worden gebruikt in plaats van programmatische controle met behulp van de klasse Membership.
Important
Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Opmerkingen
De klasse Membership wordt gebruikt in ASP.NET toepassingen om gebruikersreferenties te valideren en gebruikersinstellingen, zoals wachtwoorden en e-mailadressen, te beheren. De Membership klasse kan zelfstandig worden gebruikt of in combinatie met het FormsAuthentication maken van een volledig systeem voor het verifiëren van gebruikers van een webtoepassing of -site. Het Login besturingselement bevat de Membership klasse om een handig mechanisme te bieden voor het valideren van gebruikers.
Note
Als u niet bekend bent met de lidmaatschapsfuncties van ASP.NET, raadpleegt u Inleiding tot lidmaatschap voordat u doorgaat. Zie Gebruikers beheren met behulp van lidmaatschap voor een lijst met andere onderwerpen met betrekking tot lidmaatschap.
De Membership klasse biedt faciliteiten voor:
Nieuwe gebruikers maken.
Het opslaan van lidmaatschapsgegevens (gebruikersnamen, wachtwoorden, e-mailadressen en ondersteunende gegevens) in Microsoft SQL Server of in een alternatief gegevensarchief.
Gebruikers verifiëren die uw site bezoeken. U kunt gebruikers programmatisch verifiëren of u kunt het Login besturingselement gebruiken om een volledig verificatiesysteem te maken waarvoor weinig of geen code is vereist.
Wachtwoorden beheren, waaronder het maken, wijzigen, ophalen en opnieuw instellen van wachtwoorden, enzovoort. U kunt eventueel ASP.NET lidmaatschap configureren om een wachtwoordvraag en antwoord te vereisen voor het verifiëren van het opnieuw instellen van wachtwoorden of het ophalen van aanvragen voor gebruikers die hun wachtwoord zijn vergeten.
Hoewel ASP.NET lidmaatschap een zelfstandige functie is in ASP.NET Voor verificatie, kan het worden geïntegreerd met ASP.NET rolbeheer om autorisatieservices voor uw site te bieden. Lidmaatschap kan ook worden geïntegreerd met de ASP.NET gebruiker System.Web.Profile om toepassingsspecifieke aanpassingen te bieden die kunnen worden aangepast aan afzonderlijke gebruikers. Zie Onderstaand rolbeheer en ASP.NET Overzicht van profieleigenschappen voor meer informatie.
De Membership klasse is afhankelijk van lidmaatschapsproviders om te communiceren met een gegevensbron. Het .NET Framework bevat een SqlMembershipProvider, waarin gebruikersgegevens worden opgeslagen in een Microsoft SQL Server-database en een ActiveDirectoryMembershipProvider, waarmee u gebruikersgegevens kunt opslaan op een Active Directory- of Active Directory APPLICATION Mode-server (ADAM). U kunt ook een aangepaste lidmaatschapsprovider implementeren om te communiceren met een alternatieve gegevensbron die door de Membership klasse kan worden gebruikt. Aangepaste lidmaatschapsproviders nemen de MembershipProvider abstracte klasse over. Zie Een lidmaatschapsprovider implementeren voor meer informatie.
Standaard is ASP.NET lidmaatschap ingeschakeld voor alle ASP.NET toepassingen. De standaardlidmaatschapsprovider is de SqlMembershipProvider en wordt opgegeven in de computerconfiguratie met de naam AspNetSqlProvider. Het standaardexemplaren van de SqlMembershipProvider is geconfigureerd om verbinding te maken met een lokaal exemplaar van Microsoft SQL Server.
U kunt de standaardinstellingen wijzigen om een andere SqlMembershipProvider dan de AspNetSqlProvider-instantie op te geven als de standaardprovider of een exemplaar van een aangepaste provider op te geven als de standaardprovider voor uw ASP.NET-toepassing met behulp van het Web.config-bestand. U kunt de ASP.NET-lidmaatschapsconfiguratie voor uw webtoepassing opgeven met behulp van de configuratiesectie lidship in het Web.config-bestand. U kunt de subsectie providers van de sectie Lidmaatschap gebruiken om een andere lidmaatschapsprovider dan een van de standaardproviders op te geven. De volgende lidmaatschap sectie verwijdert bijvoorbeeld de standaardlidmaatschapsproviders uit de huidige toepassingsconfiguratie en voegt een nieuwe provider toe met een naam van SqlProvider die verbinding maakt met een SQL Server exemplaar met de naam AspSqlServer.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Eigenschappen
| Name | Description |
|---|---|
| ApplicationName |
Hiermee haalt u de naam van de toepassing op of stelt u deze in. |
| EnablePasswordReset |
Hiermee wordt een waarde opgehaald die aangeeft of de huidige lidmaatschapsprovider is geconfigureerd zodat gebruikers hun wachtwoorden opnieuw kunnen instellen. |
| EnablePasswordRetrieval |
Hiermee wordt een waarde opgehaald die aangeeft of de huidige lidmaatschapsprovider zo is geconfigureerd dat gebruikers hun wachtwoorden kunnen ophalen. |
| HashAlgorithmType |
De id van het algoritme dat wordt gebruikt voor hashwachtwoorden. |
| MaxInvalidPasswordAttempts |
Hiermee haalt u het aantal ongeldige wachtwoord- of wachtwoordantwoordpogingen op dat is toegestaan voordat de lidmaatschapsgebruiker is vergrendeld. |
| MinRequiredNonAlphanumericCharacters |
Hiermee haalt u het minimale aantal speciale tekens op dat aanwezig moet zijn in een geldig wachtwoord. |
| MinRequiredPasswordLength |
Hiermee haalt u de minimale lengte op die is vereist voor een wachtwoord. |
| PasswordAttemptWindow |
Hiermee wordt het tijdvenster opgehaald waarin opeenvolgende mislukte pogingen om een geldig wachtwoord of wachtwoordantwoord op te geven, worden bijgehouden. |
| PasswordStrengthRegularExpression |
Hiermee haalt u de reguliere expressie op die wordt gebruikt om een wachtwoord te evalueren. |
| Provider |
Hiermee wordt een verwijzing naar de standaardlidmaatschapsprovider voor de toepassing opgehaald. |
| Providers |
Hiermee haalt u een verzameling van de lidmaatschapsproviders voor de ASP.NET-toepassing op. |
| RequiresQuestionAndAnswer |
Hiermee wordt een waarde opgehaald die aangeeft of de standaardlidmaatschapsprovider vereist dat de gebruiker een wachtwoordvraag beantwoordt voor het opnieuw instellen en ophalen van wachtwoorden. |
| UserIsOnlineTimeWindow |
Hiermee geeft u het aantal minuten na de datum/tijdstempel van de laatste activiteit voor een gebruiker op waarin de gebruiker als online wordt beschouwd. |
Methoden
| Name | Description |
|---|---|
| CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
Voegt een nieuwe gebruiker met opgegeven eigenschapswaarden toe aan het gegevensarchief en retourneert een statusparameter die aangeeft dat de gebruiker is gemaakt of dat de reden waarom de gebruiker is gemaakt, is mislukt. |
| CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Voegt een nieuwe gebruiker met opgegeven eigenschapswaarden en een unieke id toe aan het gegevensarchief en retourneert een statusparameter die aangeeft dat de gebruiker is gemaakt of dat de reden waarom de gebruiker is gemaakt, is mislukt. |
| CreateUser(String, String, String) |
Voegt een nieuwe gebruiker met een opgegeven e-mailadres toe aan het gegevensarchief. |
| CreateUser(String, String) |
Voegt een nieuwe gebruiker toe aan het gegevensarchief. |
| DeleteUser(String, Boolean) |
Hiermee verwijdert u een gebruiker uit de database. |
| DeleteUser(String) |
Hiermee verwijdert u een gebruiker en eventuele gerelateerde gebruikersgegevens uit de database. |
| FindUsersByEmail(String, Int32, Int32, Int32) |
Hiermee haalt u een verzameling lidmaatschapsgebruikers op een pagina met gegevens op, waarbij het e-mailadres het opgegeven e-mailadres bevat dat overeenkomt. |
| FindUsersByEmail(String) |
Hiermee haalt u een verzameling lidmaatschapsgebruikers op waarvan het e-mailadres het opgegeven e-mailadres bevat dat moet overeenkomen. |
| FindUsersByName(String, Int32, Int32, Int32) |
Hiermee wordt een verzameling lidmaatschapsgebruikers opgehaald, op een pagina met gegevens, waarbij de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt. |
| FindUsersByName(String) |
Hiermee haalt u een verzameling lidmaatschapsgebruikers op waarvan de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt. |
| GeneratePassword(Int32, Int32) |
Hiermee wordt een willekeurig wachtwoord van de opgegeven lengte gegenereerd. |
| GetAllUsers() |
Hiermee haalt u een verzameling van alle gebruikers in de database op. |
| GetAllUsers(Int32, Int32, Int32) |
Hiermee haalt u een verzameling op van alle gebruikers in de database op pagina's met gegevens. |
| GetNumberOfUsersOnline() |
Hiermee haalt u het aantal gebruikers op dat momenteel toegang heeft tot een toepassing. |
| GetUser() |
Haalt de informatie op uit de gegevensbron en werkt de datum/tijdstempel van de laatste activiteit bij voor de huidige aangemelde lidmaatschapsgebruiker. |
| GetUser(Boolean) |
Haalt de informatie op uit de gegevensbron voor de huidige aangemelde lidmaatschapsgebruiker. Werkt de datum-/tijdstempel van de laatste activiteit bij voor de huidige aangemelde lidmaatschapsgebruiker, indien opgegeven. |
| GetUser(Object, Boolean) |
Haalt de informatie op uit de gegevensbron voor de lidmaatschapsgebruiker die is gekoppeld aan de opgegeven unieke id. Hiermee wordt de datum-/tijdstempel van de laatste activiteit voor de gebruiker bijgewerkt, indien opgegeven. |
| GetUser(Object) |
Haalt de informatie op uit de gegevensbron voor de lidmaatschapsgebruiker die is gekoppeld aan de opgegeven unieke id. |
| GetUser(String, Boolean) |
Hiermee haalt u de informatie op uit de gegevensbron voor de opgegeven lidmaatschapsgebruiker. Hiermee wordt de datum-/tijdstempel van de laatste activiteit voor de gebruiker bijgewerkt, indien opgegeven. |
| GetUser(String) |
Hiermee haalt u de informatie op uit de gegevensbron voor de opgegeven lidmaatschapsgebruiker. |
| GetUserNameByEmail(String) |
Hiermee haalt u een gebruikersnaam op waarbij het e-mailadres voor de gebruiker overeenkomt met het opgegeven e-mailadres. |
| UpdateUser(MembershipUser) |
Hiermee werkt u de database bij met de informatie voor de opgegeven gebruiker. |
| ValidateUser(String, String) |
Controleert of de opgegeven gebruikersnaam en het opgegeven wachtwoord geldig zijn. |
gebeurtenis
| Name | Description |
|---|---|
| ValidatingPassword |
Treedt op wanneer een gebruiker wordt gemaakt, een wachtwoord wordt gewijzigd of een wachtwoord opnieuw wordt ingesteld. |