Udostępnij za pośrednictwem


FormsAuthentication.RedirectFromLoginPage Metoda

Definicja

Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL.

Przeciążenia

RedirectFromLoginPage(String, Boolean)

Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL.

RedirectFromLoginPage(String, Boolean, String)

Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL przy użyciu określonej ścieżki pliku cookie dla pliku cookie uwierzytelniania formularzy.

RedirectFromLoginPage(String, Boolean)

Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu 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)

Parametry

userName
String

Uwierzytelniona nazwa użytkownika.

createPersistentCookie
Boolean

true aby utworzyć trwały plik cookie (zapisany w sesjach przeglądarki); w przeciwnym razie , false.

Wyjątki

Zwracany adres URL określony w ciągu zapytania zawiera protokół inny niż HTTP: lub HTTPS:.

Przykłady

Poniższy przykład kodu przekierowuje zweryfikowanych użytkowników do pierwotnie żądanego adresu URL lub .DefaultUrl W przykładzie kodu użyto członkostwa ASP.NET w celu zweryfikowania użytkowników. Aby uzyskać więcej informacji na temat członkostwa w ASP.NET, zobacz Zarządzanie użytkownikami przy użyciu członkostwa.

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).

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

Uwagi

Metoda RedirectFromLoginPage przekierowuje do adresu URL określonego w ciągu zapytania przy użyciu nazwy zmiennej ReturnURL . Na przykład w adresie URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage metoda przekierowuje do zwracanego adresu URL caller.aspx. Jeśli zmienna ReturnURL nie istnieje, RedirectFromLoginPage metoda przekierowuje do adresu URL we DefaultUrl właściwości .

ASP.NET automatycznie dodaje zwracany adres URL po przekierowaniu przeglądarki do strony logowania.

Domyślnie zmienna ReturnUrl musi odwoływać się do strony w bieżącej aplikacji. Jeśli ReturnUrl odwołuje się do strony w innej aplikacji lub na innym serwerze, RedirectFromLoginPage metody przekierowuje do adresu URL we DefaultUrl właściwości . Jeśli chcesz zezwolić na przekierowania do strony spoza bieżącej aplikacji, musisz ustawić EnableCrossAppRedirects właściwość na true użycie enableCrossAppRedirects atrybutu elementu konfiguracji formularzy .

Ważne

Ustawienie właściwości true zezwalania EnableCrossAppRedirects na przekierowywanie między aplikacjami jest potencjalnym zagrożeniem bezpieczeństwa. Aby uzyskać więcej informacji, zobacz EnableCrossAppRedirects właściwość .

CookiesSupported Jeśli właściwość to true, a ReturnUrl zmienna znajduje się w bieżącej aplikacji lub EnableCrossAppRedirects właściwość to true, RedirectFromLoginPage metoda wystawia bilet uwierzytelniania i umieszcza ją w domyślnym pliku cookie przy użyciu SetAuthCookie metody .

Jeśli CookiesSupported element to false i ścieżka przekierowania jest adresem URL w bieżącej aplikacji, bilet jest wystawiany jako część adresu URL przekierowania. Jeśli CookiesSupported parametr ma falsewartość , EnableCrossAppRedirects to true, a adres URL przekierowania nie odwołuje się do strony w bieżącej aplikacji, RedirectFromLoginPage metoda wystawia bilet uwierzytelniania i umieszcza go we QueryString właściwości .

Zobacz też

Dotyczy

RedirectFromLoginPage(String, Boolean, String)

Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL przy użyciu określonej ścieżki pliku cookie dla pliku cookie uwierzytelniania formularzy.

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)

Parametry

userName
String

Uwierzytelniona nazwa użytkownika.

createPersistentCookie
Boolean

true aby utworzyć trwały plik cookie (zapisany w sesjach przeglądarki); w przeciwnym razie , false.

strCookiePath
String

Ścieżka pliku cookie dla biletu uwierzytelniania formularzy.

Wyjątki

Zwracany adres URL określony w ciągu zapytania zawiera protokół inny niż HTTP: lub HTTPS:.

Uwagi

Metoda RedirectFromLoginPage przekierowuje do zwracanego adresu URL określonego w ciągu zapytania przy użyciu nazwy zmiennej ReturnURL . Na przykład w adresie URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage metoda przekierowuje do zwracanego adresu URL caller.aspx. Jeśli zmienna ReturnURL nie istnieje, RedirectFromLoginPage metoda przekierowuje do adresu URL we DefaultUrl właściwości .

ASP.NET automatycznie dodaje zwracany adres URL po przekierowaniu przeglądarki do strony logowania.

Domyślnie zmienna ReturnUrl musi odwoływać się do strony w bieżącej aplikacji. Jeśli ReturnUrl odwołuje się do strony w innej aplikacji lub na innym serwerze, RedirectFromLoginPage metoda przekierowuje do adresu URL we DefaultUrl właściwości . Jeśli chcesz zezwolić na przekierowania do strony spoza bieżącej aplikacji, musisz ustawić EnableCrossAppRedirects właściwość na true użycie enableCrossAppRedirects atrybutu elementu konfiguracji formularzy .

Ważne

Ustawienie właściwości true zezwalania EnableCrossAppRedirects na przekierowywanie między aplikacjami jest potencjalnym zagrożeniem bezpieczeństwa. Aby uzyskać więcej informacji, zobacz EnableCrossAppRedirects właściwość .

CookiesSupported Jeśli właściwość to true, a ReturnUrl zmienna znajduje się w bieżącej aplikacji lub EnableCrossAppRedirects właściwość to true, metoda RedirectFromLoginPage wystawia bilet uwierzytelniania i umieszcza ją w pliku cookie określonym przez strCookiePath parametr przy użyciu SetAuthCookie metody .

Jeśli CookiesSupported element to false i ścieżka przekierowania jest adresem URL w bieżącej aplikacji, bilet jest wystawiany jako część adresu URL przekierowania. Jeśli CookiesSupported parametr ma falsewartość , EnableCrossAppRedirects to true, a adres URL przekierowania nie odwołuje się do strony w bieżącej aplikacji, RedirectFromLoginPage metoda wystawia bilet uwierzytelniania i umieszcza go we QueryString właściwości .

Zobacz też

Dotyczy