Поделиться через


FormsAuthentication.RedirectFromLoginPage Метод

Определение

Перенаправляет прошедшего проверку подлинности пользователя обратно на исходный запрошенный URL-адрес или URL-адрес по умолчанию.

Перегрузки

Имя Описание
RedirectFromLoginPage(String, Boolean)

Перенаправляет прошедшего проверку подлинности пользователя обратно на исходный запрошенный URL-адрес или URL-адрес по умолчанию.

RedirectFromLoginPage(String, Boolean, String)

Перенаправляет пользователя, прошедшего проверку подлинности, обратно на запрошенный URL-адрес или URL-адрес по умолчанию, используя указанный путь к файлу cookie для проверки подлинности форм.

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 создание устойчивого файла cookie (сохраненного в сеансах браузера); falseв противном случае .

Исключения

URL-адрес возврата, указанный в строке запроса, содержит протокол, отличный от ПРОТОКОЛА HTTP или HTTPS:.

Примеры

Следующий пример кода перенаправляет проверенных пользователей на исходный URL-адрес или 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 перенаправляется по URL-адресу, указанному в строке запроса, с помощью имени переменной ReturnURL . Например, в URL-адресе http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage метод перенаправляется на возвращаемый 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 метод выдает запрос проверки подлинности и помещает его в файл cookie по умолчанию с помощью SetAuthCookie метода.

Если CookiesSupported это false и путь перенаправления — URL-адрес в текущем приложении, билет выдается в качестве части URL-адреса перенаправления. Если CookiesSupported задано falseзначение , EnableCrossAppRedirects а trueURL-адрес перенаправления не ссылается на страницу в текущем приложении, RedirectFromLoginPage метод выдает запрос проверки подлинности и помещает его в QueryString свойство.

См. также раздел

Применяется к

RedirectFromLoginPage(String, Boolean, String)

Перенаправляет пользователя, прошедшего проверку подлинности, обратно на запрошенный URL-адрес или URL-адрес по умолчанию, используя указанный путь к файлу cookie для проверки подлинности форм.

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 создание устойчивого файла cookie (сохраненного в сеансах браузера); falseв противном случае .

strCookiePath
String

Путь к файлу cookie для билета проверки подлинности форм.

Исключения

URL-адрес возврата, указанный в строке запроса, содержит протокол, отличный от ПРОТОКОЛА HTTP или HTTPS:.

Комментарии

Метод RedirectFromLoginPage перенаправляется по URL-адресу возврата, указанному в строке запроса, с помощью имени переменной ReturnURL . Например, в URL-адресе http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage метод перенаправляется на возвращаемый 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 метод выдает запрос проверки подлинности и помещает его в файл cookie, указанный strCookiePath параметром с помощью SetAuthCookie метода.

Если CookiesSupported это false и путь перенаправления — URL-адрес в текущем приложении, билет выдается в качестве части URL-адреса перенаправления. Если CookiesSupported задано falseзначение , EnableCrossAppRedirects а trueURL-адрес перенаправления не ссылается на страницу в текущем приложении, RedirectFromLoginPage метод выдает запрос проверки подлинности и помещает его в QueryString свойство.

См. также раздел

Применяется к