다음을 통해 공유


FormsAuthentication.RedirectFromLoginPage 메서드

정의

인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

오버로드

RedirectFromLoginPage(String, Boolean)

인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

RedirectFromLoginPage(String, Boolean, String)

양식 인증 쿠키에 대해 지정된 쿠키 경로를 사용하여 인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

RedirectFromLoginPage(String, Boolean)

인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

public:
 static void RedirectFromLoginPage(System::String ^ userName, bool createPersistentCookie);
public static void RedirectFromLoginPage (string userName, bool createPersistentCookie);
static member RedirectFromLoginPage : string * bool -> unit
Public Shared Sub RedirectFromLoginPage (userName As String, createPersistentCookie As Boolean)

매개 변수

userName
String

인증된 사용자 이름입니다.

createPersistentCookie
Boolean

지속성 쿠키를 만드는 true(브라우저 세션 간에 저장되는 쿠키) 그렇지 않으면 false.

예외

쿼리 문자열에 지정된 반환 URL에는 HTTP: 또는 HTTPS: 이외의 프로토콜이 포함됩니다.

예제

다음 코드 예제에서는 유효성이 검사된 사용자를 원래 요청된 URL 또는 DefaultUrl리디렉션합니다. 코드 예제에서는 ASP.NET 멤버 자격을 사용하여 사용자의 유효성을 검사합니다. ASP.NET 멤버 자격에 대한 자세한 내용은 멤버 자격사용하여 사용자 관리를 참조하세요.

중요하다

이 예제에는 잠재적인 보안 위협인 사용자 입력을 허용하는 텍스트 상자가 포함되어 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력에 스크립트 또는 HTML 요소가 포함되지 않는지 확인합니다. 자세한 내용은 스크립트 악용 개요참조하세요.

<%@ 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>

설명

RedirectFromLoginPage 메서드는 ReturnURL 변수 이름을 사용하여 쿼리 문자열에 지정된 URL로 리디렉션됩니다. 예를 들어 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage 메서드는 반환 URL caller.aspx리디렉션합니다. ReturnURL 변수가 없으면 RedirectFromLoginPage 메서드는 DefaultUrl 속성의 URL로 리디렉션됩니다.

ASP.NET 브라우저가 로그인 페이지로 리디렉션될 때 반환 URL을 자동으로 추가합니다.

기본적으로 ReturnUrl 변수는 현재 애플리케이션 내의 페이지를 참조해야 합니다. ReturnUrl 다른 애플리케이션 또는 다른 서버의 페이지를 참조하는 경우 RedirectFromLoginPage 메서드는 DefaultUrl 속성의 URL로 리디렉션됩니다. 현재 애플리케이션 외부의 페이지로 리디렉션을 허용하려면 구성 요소에 양식의 특성을 사용하여 속성을 설정해야 합니다.

중요하다

애플리케이션 간 리디렉션을 허용하도록 EnableCrossAppRedirects 속성을 true 설정하는 것은 잠재적인 보안 위협입니다. 자세한 내용은 EnableCrossAppRedirects 속성을 참조하세요.

CookiesSupported 속성이 trueReturnUrl 변수가 현재 애플리케이션 내에 있거나 EnableCrossAppRedirects 속성이 true경우 RedirectFromLoginPage 메서드는 인증 티켓을 발급하고 SetAuthCookie 메서드를 사용하여 기본 쿠키에 배치합니다.

CookiesSupported false 현재 애플리케이션의 URL에 대한 리디렉션 경로인 경우 티켓은 리디렉션 URL의 일부로 발급됩니다. CookiesSupported false EnableCrossAppRedirects true리디렉션 URL이 현재 애플리케이션 내의 페이지를 참조하지 않는 경우 RedirectFromLoginPage 메서드는 인증 티켓을 발급하고 QueryString 속성에 배치합니다.

추가 정보

적용 대상

RedirectFromLoginPage(String, Boolean, String)

양식 인증 쿠키에 대해 지정된 쿠키 경로를 사용하여 인증된 사용자를 원래 요청된 URL 또는 기본 URL로 다시 리디렉션합니다.

public:
 static void RedirectFromLoginPage(System::String ^ userName, bool createPersistentCookie, System::String ^ strCookiePath);
public static void RedirectFromLoginPage (string userName, bool createPersistentCookie, string strCookiePath);
static member RedirectFromLoginPage : string * bool * string -> unit
Public Shared Sub RedirectFromLoginPage (userName As String, createPersistentCookie As Boolean, strCookiePath As String)

매개 변수

userName
String

인증된 사용자 이름입니다.

createPersistentCookie
Boolean

지속성 쿠키를 만드는 true(브라우저 세션 간에 저장되는 쿠키) 그렇지 않으면 false.

strCookiePath
String

양식 인증 티켓의 쿠키 경로입니다.

예외

쿼리 문자열에 지정된 반환 URL에는 HTTP: 또는 HTTPS: 이외의 프로토콜이 포함됩니다.

설명

RedirectFromLoginPage 메서드는 ReturnURL 변수 이름을 사용하여 쿼리 문자열에 지정된 반환 URL로 리디렉션됩니다. 예를 들어 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage 메서드는 반환 URL caller.aspx리디렉션합니다. ReturnURL 변수가 없으면 RedirectFromLoginPage 메서드는 DefaultUrl 속성의 URL로 리디렉션됩니다.

ASP.NET 브라우저가 로그인 페이지로 리디렉션될 때 반환 URL을 자동으로 추가합니다.

기본적으로 ReturnUrl 변수는 현재 애플리케이션 내의 페이지를 참조해야 합니다. ReturnUrl 다른 애플리케이션 또는 다른 서버의 페이지를 참조하는 경우 RedirectFromLoginPage 메서드는 DefaultUrl 속성의 URL로 리디렉션됩니다. 현재 애플리케이션 외부의 페이지로 리디렉션을 허용하려면 구성 요소에 양식의 특성을 사용하여 속성을 설정해야 합니다.

중요하다

애플리케이션 간 리디렉션을 허용하도록 EnableCrossAppRedirects 속성을 true 설정하는 것은 잠재적인 보안 위협입니다. 자세한 내용은 EnableCrossAppRedirects 속성을 참조하세요.

CookiesSupported 속성이 trueReturnUrl 변수가 현재 애플리케이션 내에 있거나 EnableCrossAppRedirects 속성이 true경우 RedirectFromLoginPage 메서드는 인증 티켓을 발급하고 SetAuthCookie 메서드를 사용하여 strCookiePath 매개 변수로 지정된 쿠키에 배치합니다.

CookiesSupported false 현재 애플리케이션의 URL에 대한 리디렉션 경로인 경우 티켓은 리디렉션 URL의 일부로 발급됩니다. CookiesSupported false EnableCrossAppRedirects true리디렉션 URL이 현재 애플리케이션 내의 페이지를 참조하지 않는 경우 RedirectFromLoginPage 메서드는 인증 티켓을 발급하고 QueryString 속성에 배치합니다.

추가 정보

적용 대상