Sdílet prostřednictvím


FormsAuthentication.RedirectFromLoginPage Metoda

Definice

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL.

Přetížení

RedirectFromLoginPage(String, Boolean)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL.

RedirectFromLoginPage(String, Boolean, String)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL pomocí zadané cesty cookie pro soubor cookie pro ověřování formulářů.

RedirectFromLoginPage(String, Boolean)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí 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

Ověřené uživatelské jméno.

createPersistentCookie
Boolean

true vytvořit trvalý soubor cookie (soubor uložený v rámci relací prohlížeče); jinak false.

Výjimky

Zpáteční adresa URL zadaná v řetězci dotazu obsahuje jiný protokol než HTTP: nebo HTTPS:.

Příklady

Následující příklad kódu přesměruje ověřené uživatele na původně požadovanou adresu URL nebo DefaultUrl. Příklad kódu používá k ověření uživatelů ASP.NET členství. Další informace o členství ASP.NET naleznete v tématu Správa uživatelů pomocíčlenství .

Důležitý

Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu 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>

Poznámky

Metoda RedirectFromLoginPage přesměruje na adresu URL zadanou v řetězci dotazu pomocí názvu proměnné ReturnURL. Například v adrese URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxmetoda RedirectFromLoginPage přesměruje na zpáteční adresu URL caller.aspx. Pokud proměnná ReturnURL neexistuje, metoda RedirectFromLoginPage přesměruje na adresu URL ve vlastnosti DefaultUrl.

ASP.NET automaticky přidá zpáteční adresu URL při přesměrování prohlížeče na přihlašovací stránku.

Ve výchozím nastavení musí proměnná ReturnUrl odkazovat na stránku v aktuální aplikaci. Pokud ReturnUrl odkazuje na stránku v jiné aplikaci nebo na jiném serveru, RedirectFromLoginPage metody přesměrují na adresu URL ve vlastnosti DefaultUrl. Pokud chcete povolit přesměrování na stránku mimo aktuální aplikaci, musíte nastavit vlastnost EnableCrossAppRedirects na true pomocí atributu enableCrossAppRedirects formuláře formuláře konfigurační prvek.

Důležitý

Nastavení vlastnosti EnableCrossAppRedirects na true tak, aby umožňovalo přesměrování mezi aplikacemi, představuje potenciální bezpečnostní hrozbu. Další informace najdete v EnableCrossAppRedirects vlastnosti.

Pokud je vlastnost CookiesSupportedtruea proměnná ReturnUrl je v aktuální aplikaci nebo EnableCrossAppRedirects vlastnost je true, pak metoda RedirectFromLoginPage vydá lístek ověřování a umístí ji do výchozího souboru cookie pomocí metody SetAuthCookie.

Pokud je CookiesSupportedfalse a cesta přesměrování je na adresu URL v aktuální aplikaci, lístek se vydá jako součást adresy URL pro přesměrování. Pokud je CookiesSupportedfalse, EnableCrossAppRedirects je truea adresa URL přesměrování neodkazuje na stránku v aktuální aplikaci, metoda RedirectFromLoginPage vydá lístek ověřování a umístí ji do vlastnosti QueryString.

Viz také

Platí pro

RedirectFromLoginPage(String, Boolean, String)

Přesměruje ověřeného uživatele zpět na původně požadovanou adresu URL nebo výchozí adresu URL pomocí zadané cesty cookie pro soubor cookie pro ověřování formulářů.

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

Ověřené uživatelské jméno.

createPersistentCookie
Boolean

true vytvořit trvalý soubor cookie (soubor uložený v rámci relací prohlížeče); jinak false.

strCookiePath
String

Cesta k souboru cookie pro lístek ověřování pomocí formulářů.

Výjimky

Zpáteční adresa URL zadaná v řetězci dotazu obsahuje jiný protokol než HTTP: nebo HTTPS:.

Poznámky

Metoda RedirectFromLoginPage přesměruje na zpáteční adresu URL zadanou v řetězci dotazu pomocí názvu proměnné ReturnURL. Například v adrese URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxmetoda RedirectFromLoginPage přesměruje na zpáteční adresu URL caller.aspx. Pokud proměnná ReturnURL neexistuje, metoda RedirectFromLoginPage přesměruje na adresu URL ve vlastnosti DefaultUrl.

ASP.NET automaticky přidá zpáteční adresu URL při přesměrování prohlížeče na přihlašovací stránku.

Ve výchozím nastavení musí proměnná ReturnUrl odkazovat na stránku v aktuální aplikaci. Pokud ReturnUrl odkazuje na stránku v jiné aplikaci nebo na jiném serveru, metoda RedirectFromLoginPage přesměruje na adresu URL ve vlastnosti DefaultUrl. Pokud chcete povolit přesměrování na stránku mimo aktuální aplikaci, musíte nastavit vlastnost EnableCrossAppRedirects na true pomocí atributu enableCrossAppRedirects formuláře formuláře konfigurační prvek.

Důležitý

Nastavení vlastnosti EnableCrossAppRedirects na true tak, aby umožňovalo přesměrování mezi aplikacemi, představuje potenciální bezpečnostní hrozbu. Další informace najdete v EnableCrossAppRedirects vlastnosti.

Pokud je vlastnost CookiesSupportedtruea proměnná ReturnUrl je v aktuální aplikaci nebo EnableCrossAppRedirects vlastnost je true, pak metoda RedirectFromLoginPage vydá ověřovací lístek a umístí ho do souboru cookie určeného parametrem strCookiePath pomocí metody SetAuthCookie.

Pokud je CookiesSupportedfalse a cesta přesměrování je na adresu URL v aktuální aplikaci, lístek se vydá jako součást adresy URL pro přesměrování. Pokud je CookiesSupportedfalse, EnableCrossAppRedirects je truea adresa URL přesměrování neodkazuje na stránku v aktuální aplikaci, metoda RedirectFromLoginPage vydá lístek ověřování a umístí ji do vlastnosti QueryString.

Viz také

Platí pro