FormsAuthentication.RedirectFromLoginPage Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.aspx
RedirectFromLoginPage 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 false
wartość , 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.aspx
RedirectFromLoginPage 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 false
wartość , 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 .