命名空间: System.Web.Security
程序集: System.Web(在 System.Web.dll 中)
将经过身份验证的用户重定向回最初请求的 URL 或默认 URL。
public static void RedirectFromLoginPage(
string userName,
bool createPersistentCookie
)
参数
经过身份验证的用户名。
若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
RedirectFromLoginPage 方法重定向到查询字符串中使用 ReturnURL 变量名指定的 URL。例如,在 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx 中,RedirectFromLoginPage 方法重定向到返回 URL caller.aspx。如果 ReturnURL 变量不存在,则 RedirectFromLoginPage 方法将重定向到 DefaultUrl 属性中的 URL。
当浏览器重定向到登录页时,ASP.NET 将自动添加返回 URL。
默认情况下,ReturnUrl 变量必须引用当前应用程序中的页。如果 ReturnUrl 引用其他应用程序或其他服务器中的页,RedirectFromLoginPage 方法将重定向到 DefaultUrl 属性中的 URL。如果希望允许重定向到当前应用程序以外的页,必须使用 forms 配置元素的 enableCrossAppRedirects 属性 (Attribute) 将 EnableCrossAppRedirects 属性 (Property) 设置为 true。
该示例包含一个接受用户输入的文本框,而接受用户输入会导致潜在的安全威胁。默认情况下,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>