SqlMembershipProvider.ValidateUser(String, String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 사용자 이름과 암호가 SQL Server 멤버 자격 데이터베이스에 있는지 여부를 확인합니다.
public:
override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean
매개 변수
- username
- String
유효성을 검사할 사용자의 이름입니다.
- password
- String
지정된 사용자의 암호입니다.
반환
지정된 사용자 이름과 암호가 유효하면 true
이고, 그렇지 않으면 false
입니다. 데이터베이스에 사용자가 없어도 false
값이 반환됩니다.
예제
다음 코드 예제에서는 폼 인증을 사용 하도록 ASP.NET 애플리케이션에 대 한 로그인 페이지 및 SqlMembershipProvider합니다. 제공된 사용자 자격 증명이 유효하지 않으면 사용자에게 메시지가 표시됩니다. 그렇지 않으면 사용자가 메서드를 사용하여 원래 요청된 URL로 RedirectFromLoginPage 리디렉션됩니다.
참고
이 예제에서는 클래스를 Membership 사용하여 지정된 를 SqlMembershipProvider Web.config 파일에서 로 defaultProvider
호출합니다. 기본 공급자에 형식 SqlMembershipProvider으로 액세스해야 하는 경우 클래스의 속성을 캐스팅할 ProviderMembership 수 있습니다. 특정 공급자 유형으로 구성된 다른 공급자에 액세스하려면 클래스의 Membership 속성을 사용하여 구성된 이름으로 Providers 액세스하고 특정 공급자 유형으로 캐스팅할 수 있습니다.
<%@ 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 애플리케이션의 구성 파일 (Web.config)에 지정 된 SQL Server 데이터베이스의 사용자에 대 한 사용자 정보를 유효성을 검사 하는 클래스입니다.
사용자가 성공적으로 유효성을 검사하면 마지막 활동 날짜 및 마지막 로그인 날짜 값이 데이터베이스의 현재 날짜 및 시간으로 업데이트됩니다.
잘못된 암호를 메서드에 ValidateUser 제공하면 잘못된 암호 시도를 추적하는 내부 카운터가 하나씩 증가합니다. 이로 인해 사용자가 잠기고 메서드 호출로 잠금 상태가 지워질 때까지 로그온할 UnlockUser 수 없습니다. 올바른 암호가 제공되고 사용자가 현재 잠겨 있지 않으면 잘못된 암호 및 암호 응답 시도를 추적하는 내부 카운터가 0으로 다시 설정됩니다. 자세한 내용은 MaxInvalidPasswordAttempts 및 PasswordAttemptWindow 속성을 참조하세요.
선행 및 후행 공백은 모든 매개 변수 값에서 잘립니다.
적용 대상
추가 정보
.NET