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.aspx
RedirectFromLoginPage метод перенаправляется на возвращаемый 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.aspx
RedirectFromLoginPage метод перенаправляется на возвращаемый 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 свойство .