Membership 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
사용자 자격 증명의 유효성을 검사하고 사용자 설정을 관리합니다. 이 클래스는 상속될 수 없습니다.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- 상속
-
Membership
예제
다음 코드 예제에서는 폼 인증 및 ASP.NET 멤버 자격을 사용 하도록 구성 된 ASP.NET 애플리케이션에 대 한 로그인 페이지를 보여 줍니다. 제공된 사용자 자격 증명이 유효하지 않으면 사용자에게 메시지가 표시됩니다. 그렇지 않으면 사용자가 메서드를 사용하여 원래 요청된 URL로 RedirectFromLoginPage 리디렉션됩니다.
참고
ASP.NET 로그인 컨트롤(Login, , LoginView, LoginStatusLoginName및 )은 사용자에게 자격 증명을 묻는 메시지를 표시하고 PasswordRecovery멤버 자격 증명의 유효성을 검사하는 데 필요한 거의 모든 논리를 캡슐화하며 클래스를 사용하는 Membership 프로그래밍 방식 검사 대신 사용할 수 있습니다.
중요
이 예제에서는 잠재적 보안 위협을 사용자 입력을 허용 하는 텍스트 상자가 포함 되어 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.
<%@ 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>
설명
Membership 클래스 및 사용자 자격 증명의 유효성을 검사 하 고, 암호 등의 사용자 설정을 관리 하 고, 전자 메일 주소를 ASP.NET 애플리케이션에서 사용 됩니다. 합니다 Membership 클래스는 자체적으로 또는 함께에서 사용할 수 있습니다는 FormsAuthentication 사이트나 웹 애플리케이션의 사용자를 인증 하는 것에 대 한 전체 시스템을 만들려면. 컨트롤은 Login 클래스를 Membership 캡슐화하여 사용자의 유효성을 검사하기 위한 편리한 메커니즘을 제공합니다.
참고
ASP.NET의 멤버 자격 기능을 사용 하 여 잘 모르는 경우 Introduction to Membership 계속 하기 전에 합니다. 멤버 자격에 관련 된 기타 항목 목록을 참조 하세요 멤버 자격을 사용 하 여 사용자 관리합니다.
클래스는 Membership 다음을 위한 기능을 제공합니다.
새 사용자를 만듭니다.
Microsoft SQL Server 또는 대체 데이터 저장소에 멤버 자격 정보(사용자 이름, 암호, 이메일 주소 및 지원 데이터)를 저장합니다.
사이트를 방문하는 사용자를 인증합니다. 프로그래밍 방식으로 사용자를 인증하거나 컨트롤을 Login 사용하여 코드가 거의 또는 전혀 필요하지 않은 완전한 인증 시스템을 만들 수 있습니다.
암호를 만들고, 변경하고, 검색하고, 재설정하는 등의 암호를 관리합니다. 필요에 따라 암호를 잊어버린 사용자에 대한 암호 재설정 또는 검색 요청을 인증하기 위해 암호 질문과 답변이 필요하도록 ASP.NET 멤버 자격을 구성할 수 있습니다.
ASP.NET 멤버 자격은 ASP.NET 인증의 자체 기능이지만 ASP.NET 역할 관리와 통합되어 사이트에 대한 권한 부여 서비스를 제공할 수 있습니다. ASP.NET 사용자를 사용 하 여 멤버 자격 통합 될 수도 있습니다 System.Web.Profile 개별 사용자에 게 맞게 조정할 수 있는 애플리케이션별 사용자 지정을 제공 합니다. 자세한 내용은 역할 관리 및 ASP.NET 프로필 속성 개요 이해를 참조하세요.
Membership 클래스는 데이터 소스와 통신 하는 멤버 자격 공급자에 의존 합니다. .NET Framework에는 SqlMembershipProvider, Microsoft SQL Server 데이터베이스에서 사용자 정보를 저장 하는 및 ActiveDirectoryMembershipProvider, Active Directory 또는 Active Directory 애플리케이션 모드 (ADAM) 서버에서 사용자 정보를 저장할 수 있습니다. 클래스에서 사용할 수 있는 대체 데이터 원본과 통신하도록 사용자 지정 멤버 자격 공급자를 Membership 구현할 수도 있습니다. 사용자 지정 멤버 자격 공급자는 추상 클래스를 MembershipProvider 상속합니다. 자세한 내용은 멤버 자격 공급자 구현을 참조하세요.
기본적으로 ASP.NET 멤버 자격 모든 ASP.NET 애플리케이션에 사용 됩니다. 기본 멤버 자격 공급자는 이며 SqlMembershipProvider 라는 이름의 AspNetSqlProvider
컴퓨터 구성에 지정 됩니다. 의 SqlMembershipProvider 기본 인스턴스는 Microsoft SQL Server의 로컬 인스턴스에 연결하도록 구성됩니다.
지정 하려면 기본 설정을 수정할 수 있습니다는 SqlMembershipProvider 이외의 AspNetSqlProvider
기본 공급자로 인스턴스 또는 Web.config 파일을 사용 하 여 ASP.NET 애플리케이션에 대 한 기본 공급자로 사용자 지정 공급자의 인스턴스를 지정 합니다. Web.config 파일의 멤버 자격 구성 섹션을 사용하여 웹 애플리케이션에 대한 ASP.NET 멤버 자격 구성을 지정할 수 있습니다.
멤버 자격 섹션의 공급자 하위 섹션을 사용하여 기본 공급자 중 하나 이외의 멤버 자격 공급자를 지정할 수 있습니다. 예를 들어 다음 멤버 자격 섹션에서는 현재 애플리케이션 구성에서 기본 멤버 자격 공급자를 제거하고 라는 AspSqlServer
SQL Server 인스턴스에 연결하는 이름을 SqlProvider
가진 새 공급자를 추가합니다.
<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>
속성
ApplicationName |
애플리케이션의 이름을 가져오거나 설정합니다. |
EnablePasswordReset |
현재 멤버 자격 공급자에서 사용자가 암호를 다시 설정하도록 구성되어 있는지 여부를 나타내는 값을 가져옵니다. |
EnablePasswordRetrieval |
현재 멤버 자격 공급자에서 사용자가 암호를 검색하도록 구성되어 있는지 여부를 나타내는 값을 가져옵니다. |
HashAlgorithmType |
암호를 해시하는 데 사용되는 알고리즘의 식별자입니다. |
MaxInvalidPasswordAttempts |
멤버 자격 사용자가 잠금 처리되기 전에 허용되는 잘못된 암호 또는 암호 대답 시도 수를 가져옵니다. |
MinRequiredNonAlphanumericCharacters |
유효한 암호에 나타나야 하는 특수 문자의 최소 수를 가져옵니다. |
MinRequiredPasswordLength |
암호에 필요한 최소 길이를 가져옵니다. |
PasswordAttemptWindow |
올바른 암호나 암호 대답을 제공하려고 했지만 실패한 연속 횟수를 추적하는 시간 창을 가져옵니다. |
PasswordStrengthRegularExpression |
암호를 확인하는 데 사용되는 정규식을 가져옵니다. |
Provider |
애플리케이션의 기본 멤버 자격 공급자에 대한 참조를 가져옵니다. |
Providers |
ASP.NET 애플리케이션의 멤버 자격 공급자 컬렉션을 가져옵니다. |
RequiresQuestionAndAnswer |
기본 멤버 자격 공급자에서 사용자가 암호 재설정 및 검색을 위해 암호 질문에 대답해야 하는지 여부를 나타내는 값을 가져옵니다. |
UserIsOnlineTimeWindow |
온라인인 것으로 간주되는 사용자에 대해 마지막 작업 날짜/시간 스탬프 이후의 시간(분)을 지정합니다. |
메서드
CreateUser(String, String) |
데이터 저장소에 새 사용자를 추가합니다. |
CreateUser(String, String, String) |
새 사용자를 지정된 이메일 주소와 함께 데이터 저장소에 추가합니다. |
CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
속성 값이 지정된 새 사용자를 데이터 저장소에 추가하고 사용자가 만들어졌음을 나타내거나 사용자 만들기에 실패한 이유를 나타내는 상태 매개 변수를 반환합니다. |
CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
속성 값이 지정되고 고유한 식별자를 가진 새 사용자를 데이터 저장소에 추가하고 사용자가 만들어졌음을 나타내거나 사용자 만들기에 실패한 이유를 나타내는 상태 매개 변수를 반환합니다. |
DeleteUser(String) |
데이터베이스에서 사용자와 사용자 관련 데이터를 모두 삭제합니다. |
DeleteUser(String, Boolean) |
데이터베이스에서 사용자를 삭제합니다. |
FindUsersByEmail(String) |
이메일 주소에 일치시킬 지정된 이메일 주소가 있는 멤버 자격 사용자의 컬렉션을 가져옵니다. |
FindUsersByEmail(String, Int32, Int32, Int32) |
이메일 주소에 일치시킬 지정된 이메일 주소가 있는 멤버 자격 사용자의 컬렉션을 데이터 페이지에 가져옵니다. |
FindUsersByName(String) |
사용자 이름이 지정한 사용자 이름과 일치하는 멤버 자격 사용자의 컬렉션을 가져옵니다. |
FindUsersByName(String, Int32, Int32, Int32) |
사용자 이름이 지정한 사용자 이름과 일치하는 멤버 자격 사용자의 컬렉션을 데이터 페이지에 가져옵니다. |
GeneratePassword(Int32, Int32) |
지정한 길이의 임의의 암호를 생성합니다. |
GetAllUsers() |
데이터베이스의 모든 사용자 컬렉션을 가져옵니다. |
GetAllUsers(Int32, Int32, Int32) |
데이터 페이지에 데이터베이스의 모든 사용자 컬렉션을 가져옵니다. |
GetNumberOfUsersOnline() |
현재 애플리케이션에 액세스하는 사용자 수를 가져옵니다. |
GetUser() |
데이터 소스에서 정보를 가져와 현재 로그온한 멤버 자격 사용자의 마지막 작업 날짜/시간 스탬프를 업데이트합니다. |
GetUser(Boolean) |
현재 로그온한 멤버 자격 사용자의 데이터 소스에서 정보를 가져옵니다. 지정된 경우 현재 로그온한 멤버 자격 사용자의 마지막 작업 날짜/시간 스탬프를 업데이트합니다. |
GetUser(Object) |
데이터 소스에서 지정한 고유 식별자와 연결된 멤버 자격 사용자의 정보를 가져옵니다. |
GetUser(Object, Boolean) |
데이터 소스에서 지정한 고유 식별자와 연결된 멤버 자격 사용자의 정보를 가져옵니다. 지정된 경우 사용자의 마지막 작업 날짜/시간 스탬프를 업데이트합니다. |
GetUser(String) |
데이터 소스에서 지정된 멤버 자격 사용자의 정보를 가져옵니다. |
GetUser(String, Boolean) |
데이터 소스에서 지정된 멤버 자격 사용자의 정보를 가져옵니다. 지정된 경우 사용자의 마지막 작업 날짜/시간 스탬프를 업데이트합니다. |
GetUserNameByEmail(String) |
사용자의 이메일 주소가 지정한 이메일 주소와 일치하는 사용자 이름을 가져옵니다. |
UpdateUser(MembershipUser) |
지정한 사용자의 정보로 데이터베이스를 업데이트합니다. |
ValidateUser(String, String) |
제공된 사용자 이름과 암호가 유효한지 확인합니다. |
이벤트
ValidatingPassword |
사용자를 만들거나 암호를 변경하거나 암호를 다시 설정할 때 발생합니다. |
적용 대상
추가 정보
.NET