Comparteix a través de


FormsAuthentication.RedirectFromLoginPage Método

Definición

Redirige al usuario autenticado hacia la dirección URL originalmente solicitada o a la dirección URL predeterminada.

Sobrecargas

RedirectFromLoginPage(String, Boolean)

Redirige al usuario autenticado hacia la dirección URL originalmente solicitada o a la dirección URL predeterminada.

RedirectFromLoginPage(String, Boolean, String)

Redirige a un usuario autenticado a la dirección URL originalmente solicitada o la dirección URL predeterminada utilizando la ruta de acceso de cookies especificada para la cookie de autenticación de formularios.

RedirectFromLoginPage(String, Boolean)

Redirige al usuario autenticado hacia la dirección URL originalmente solicitada o a la dirección URL predeterminada.

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)

Parámetros

userName
String

Nombre del usuario autenticado.

createPersistentCookie
Boolean

true para crear una cookie duradera (aquella que se guarda en cada sesión del explorador); en caso contrario, false.

Excepciones

La dirección URL devuelta especificada en la cadena de consulta contiene un protocolo que no es ni HTTP: ni HTTPS:.

Ejemplos

En el ejemplo de código siguiente se redirige a los usuarios validados a la dirección URL solicitada originalmente o a DefaultUrl. En el ejemplo de código se usa ASP.NET pertenencia para validar a los usuarios. Para obtener más información sobre ASP.NET pertenencia, consulte Administración de usuarios mediante pertenencia.

Importante

Este ejemplo contiene un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

<%@ 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>

Comentarios

El RedirectFromLoginPage método redirige a la dirección URL especificada en la cadena de consulta mediante el nombre de la ReturnURL variable. Por ejemplo, en la dirección URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, el RedirectFromLoginPage método redirige a la dirección URL caller.aspxde retorno . Si la ReturnURL variable no existe, el RedirectFromLoginPage método redirige a la dirección URL de la DefaultUrl propiedad .

ASP.NET agrega automáticamente la dirección URL de retorno cuando se redirige el explorador a la página de inicio de sesión.

De forma predeterminada, la ReturnUrl variable debe hacer referencia a una página dentro de la aplicación actual. Si ReturnUrl hace referencia a una página de una aplicación diferente o en un servidor diferente, los RedirectFromLoginPage métodos redirigen a la dirección URL de la DefaultUrl propiedad . Si desea permitir redireccionamientos a una página fuera de la aplicación actual, debe establecer la EnableCrossAppRedirects propiedad true en mediante el enableCrossAppRedirects atributo del elemento de configuración de formularios .

Importante

Establecer la EnableCrossAppRedirects propiedad en true para permitir redireccionamientos entre aplicaciones es una amenaza de seguridad potencial. Para obtener más información, vea la propiedad EnableCrossAppRedirects.

Si la CookiesSupported propiedad es truey la ReturnUrl variable está dentro de la aplicación actual o la EnableCrossAppRedirects propiedad es true, el RedirectFromLoginPage método emite un vale de autenticación y lo coloca en la cookie predeterminada mediante el SetAuthCookie método .

Si CookiesSupported es false y la ruta de acceso de redireccionamiento es a una dirección URL de la aplicación actual, el vale se emite como parte de la dirección URL de redireccionamiento. Si CookiesSupported es , EnableCrossAppRedirects es truefalsey la dirección URL de redireccionamiento no hace referencia a una página dentro de la aplicación actual, el RedirectFromLoginPage método emite un vale de autenticación y lo coloca en la QueryString propiedad .

Consulte también

Se aplica a

RedirectFromLoginPage(String, Boolean, String)

Redirige a un usuario autenticado a la dirección URL originalmente solicitada o la dirección URL predeterminada utilizando la ruta de acceso de cookies especificada para la cookie de autenticación de formularios.

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)

Parámetros

userName
String

Nombre del usuario autenticado.

createPersistentCookie
Boolean

true para crear una cookie duradera (aquella que se guarda en cada sesión del explorador); en caso contrario, false.

strCookiePath
String

Ruta de cookies de acceso para el vale de autenticación de formularios.

Excepciones

La dirección URL devuelta especificada en la cadena de consulta contiene un protocolo que no es ni HTTP: ni HTTPS:.

Comentarios

El RedirectFromLoginPage método redirige a la dirección URL de retorno especificada en la cadena de consulta con el nombre de la ReturnURL variable. Por ejemplo, en la dirección URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, el RedirectFromLoginPage método redirige a la dirección URL caller.aspxde retorno . Si la ReturnURL variable no existe, el RedirectFromLoginPage método redirige a la dirección URL de la DefaultUrl propiedad .

ASP.NET agrega automáticamente la dirección URL de retorno cuando se redirige el explorador a la página de inicio de sesión.

De forma predeterminada, la ReturnUrl variable debe hacer referencia a una página dentro de la aplicación actual. Si ReturnUrl hace referencia a una página de una aplicación diferente o en un servidor diferente, el RedirectFromLoginPage método redirige a la dirección URL de la DefaultUrl propiedad . Si desea permitir redireccionamientos a una página fuera de la aplicación actual, debe establecer la EnableCrossAppRedirects propiedad true en mediante el enableCrossAppRedirects atributo del elemento de configuración de formularios .

Importante

Establecer la EnableCrossAppRedirects propiedad en true para permitir redireccionamientos entre aplicaciones es una amenaza de seguridad potencial. Para obtener más información, vea la propiedad EnableCrossAppRedirects.

Si la CookiesSupported propiedad es truey la ReturnUrl variable está dentro de la aplicación actual o la EnableCrossAppRedirects propiedad es true, el RedirectFromLoginPage método emite un vale de autenticación y lo coloca en la cookie especificada por el strCookiePath parámetro mediante el SetAuthCookie método .

Si CookiesSupported es false y la ruta de acceso de redireccionamiento es a una dirección URL de la aplicación actual, el vale se emite como parte de la dirección URL de redireccionamiento. Si CookiesSupported es , EnableCrossAppRedirects es truefalsey la dirección URL de redireccionamiento no hace referencia a una página dentro de la aplicación actual, el RedirectFromLoginPage método emite un vale de autenticación y lo coloca en la QueryString propiedad .

Consulte también

Se aplica a