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