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 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 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>

설명

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

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

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

중요

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

경우는 CookiesSupported 속성은 true, 및를 ReturnUrl 변수가 현재 애플리케이션 내 또는 EnableCrossAppRedirects 속성은 true, 해당 RedirectFromLoginPage 메서드 인증 티켓을 발급 하 고 배치에 사용 하 여 기본 쿠키를 SetAuthCookie 메서드.

하는 경우 CookiesSupportedfalse 리디렉션 경로 현재 애플리케이션에서 url, 리디렉션 URL의 일부로 티켓이 발급 되 고 있습니다. 경우 CookiesSupportedfalse, EnableCrossAppRedirectstrue, 및 리디렉션 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 변수 이름을 사용하여 쿼리 문자열에 지정된 반환 URL로 ReturnURL 리디렉션됩니다. 예를 들어 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx에서 메서드는 RedirectFromLoginPage 반환 URL caller.aspx로 리디렉션됩니다. 변수가 ReturnURL 없으면 메서드는 RedirectFromLoginPage 속성의 URL DefaultUrl 로 리디렉션됩니다.

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

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

중요

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

경우는 CookiesSupported 속성은 true, 및를 ReturnUrl 변수가 현재 애플리케이션 내 또는 EnableCrossAppRedirects 속성은 true, 해당 RedirectFromLoginPage 메서드 인증 티켓을 발급 하 고 배치에 지정 된 쿠키를 strCookiePath 매개 변수를 사용 하는 SetAuthCookie 메서드.

하는 경우 CookiesSupportedfalse 리디렉션 경로 현재 애플리케이션에서 url, 리디렉션 URL의 일부로 티켓이 발급 되 고 있습니다. 경우 CookiesSupportedfalse, EnableCrossAppRedirectstrue, 및 리디렉션 URL 현재 애플리케이션에서 페이지를 참조 하지 않습니다는 RedirectFromLoginPage 메서드 인증 티켓을 발급 및에 QueryString 속성.

추가 정보

적용 대상