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 свойство.

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

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