다음을 통해 공유


SqlMembershipProvider.ValidateUser(String, String) 메서드

정의

지정된 사용자 이름과 암호가 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으로 다시 설정됩니다. 자세한 내용은 MaxInvalidPasswordAttemptsPasswordAttemptWindow 속성을 참조하세요.

선행 및 후행 공백은 모든 매개 변수 값에서 잘립니다.

적용 대상

추가 정보