FormsAuthentication.RedirectFromLoginPage Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Redirects an authenticated user back to the originally requested URL or the default URL.
Overloads
RedirectFromLoginPage(String, Boolean) |
Redirects an authenticated user back to the originally requested URL or the default URL. |
RedirectFromLoginPage(String, Boolean, String) |
Redirects an authenticated user back to the originally requested URL or the default URL using the specified cookie path for the forms-authentication cookie. |
RedirectFromLoginPage(String, Boolean)
Redirects an authenticated user back to the originally requested URL or the default 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)
Parameters
- userName
- String
The authenticated user name.
- createPersistentCookie
- Boolean
true
to create a durable cookie (one that is saved across browser sessions); otherwise, false
.
Exceptions
The return URL specified in the query string contains a protocol other than HTTP: or HTTPS:.
Examples
The following code example redirects validated users to either the originally requested URL or the DefaultUrl. The code example uses ASP.NET membership to validate users. For more information about ASP.NET membership, see Managing Users by Using Membership.
Important
This example contains a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.
<%@ 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>
Remarks
The RedirectFromLoginPage method redirects to the URL specified in the query string using the ReturnURL
variable name. For example, in the URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx
, the RedirectFromLoginPage method redirects to the return URL caller.aspx
. If the ReturnURL
variable does not exist, the RedirectFromLoginPage method redirects to the URL in the DefaultUrl property.
ASP.NET automatically adds the return URL when the browser is redirected to the login page.
By default, the ReturnUrl
variable must refer to a page within the current application. If ReturnUrl
refers to a page in a different application or on a different server, the RedirectFromLoginPage methods redirects to the URL in the DefaultUrl property. If you want to allow redirects to a page outside the current application, you must set the EnableCrossAppRedirects property to true
using the enableCrossAppRedirects
attribute of the forms configuration element.
Important
Setting the EnableCrossAppRedirects property to true
to allow cross-application redirects is a potential security threat. For more information, see the EnableCrossAppRedirects property.
If the CookiesSupported property is true
, and either the ReturnUrl
variable is within the current application or the EnableCrossAppRedirects property is true
, then the RedirectFromLoginPage method issues an authentication ticket and places it in the default cookie using the SetAuthCookie method.
If CookiesSupported is false
and the redirect path is to a URL in the current application, the ticket is issued as part of the redirect URL. If CookiesSupported is false
, EnableCrossAppRedirects is true
, and the redirect URL does not refer to a page within the current application, the RedirectFromLoginPage method issues an authentication ticket and places it in the QueryString property.
See also
Applies to
RedirectFromLoginPage(String, Boolean, String)
Redirects an authenticated user back to the originally requested URL or the default URL using the specified cookie path for the forms-authentication 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)
Parameters
- userName
- String
The authenticated user name.
- createPersistentCookie
- Boolean
true
to create a durable cookie (one that is saved across browser sessions); otherwise, false
.
- strCookiePath
- String
The cookie path for the forms-authentication ticket.
Exceptions
The return URL specified in the query string contains a protocol other than HTTP: or HTTPS:.
Remarks
The RedirectFromLoginPage method redirects to the return URL specified in the query string using the ReturnURL
variable name. For example, in the URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx
, the RedirectFromLoginPage method redirects to the return URL caller.aspx
. If the ReturnURL
variable does not exist, the RedirectFromLoginPage method redirects to the URL in the DefaultUrl property.
ASP.NET automatically adds the return URL when the browser is redirected to the login page.
By default, the ReturnUrl
variable must refer to a page within the current application. If ReturnUrl
refers to a page in a different application or on a different server, the RedirectFromLoginPage method redirects to the URL in the DefaultUrl property. If you want to allow redirects to a page outside the current application, you must set the EnableCrossAppRedirects property to true
using the enableCrossAppRedirects
attribute of the forms configuration element.
Important
Setting the EnableCrossAppRedirects property to true
to allow cross-application redirects is a potential security threat. For more information, see the EnableCrossAppRedirects property.
If the CookiesSupported property is true
, and either the ReturnUrl
variable is within the current application or the EnableCrossAppRedirects property is true
, then the RedirectFromLoginPage method issues an authentication ticket and places it in the cookie specified by the strCookiePath
parameter using the SetAuthCookie method.
If CookiesSupported is false
and the redirect path is to a URL in the current application, the ticket is issued as part of the redirect URL. If CookiesSupported is false
, EnableCrossAppRedirects is true
, and the redirect URL does not refer to a page within the current application, the RedirectFromLoginPage method issues an authentication ticket and places it in the QueryString property.