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


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-адрес или .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 атрибута элемента конфигурации forms .

Важно!

Задание свойству EnableCrossAppRedirects значения true , чтобы разрешить перенаправление между приложениями, является потенциальной угрозой безопасности. Дополнительные сведения см. в описании свойства EnableCrossAppRedirects.

CookiesSupported Если свойство имеет значение trueи либо ReturnUrl переменная находится в текущем приложении, либо EnableCrossAppRedirects свойство имеет значение true, метод RedirectFromLoginPage выдает билет проверки подлинности и помещает его в файл cookie по умолчанию с помощью SetAuthCookie метода .

Если CookiesSupported имеет значение false и путь перенаправления — это URL-адрес в текущем приложении, билет выдается как часть URL-адреса перенаправления. Если CookiesSupported имеет значение false, EnableCrossAppRedirects имеет значение true, а URL-адрес перенаправления не ссылается на страницу в текущем приложении, 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 атрибута элемента конфигурации forms .

Важно!

Задание свойству EnableCrossAppRedirects значения true , чтобы разрешить перенаправление между приложениями, является потенциальной угрозой безопасности. Дополнительные сведения см. в описании свойства EnableCrossAppRedirects.

CookiesSupported Если свойство имеет значение trueи либо ReturnUrl переменная находится в текущем приложении, либо EnableCrossAppRedirects свойство равно true, метод RedirectFromLoginPage выдает билет проверки подлинности и помещает его в файл cookie, указанный strCookiePath параметром , с помощью SetAuthCookie метода .

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

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

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