FormsAuthentication.RedirectFromLoginPage Método

Definição

Redireciona um utilizador autenticado de volta para a URL originalmente solicitada ou para a URL predefinida.

Sobrecargas

Name Description
RedirectFromLoginPage(String, Boolean)

Redireciona um utilizador autenticado de volta para a URL originalmente solicitada ou para a URL predefinida.

RedirectFromLoginPage(String, Boolean, String)

Redireciona um utilizador autenticado de volta para o URL originalmente solicitado ou para o URL predefinido usando o caminho do cookie especificado para o cookie de autenticação de formulários.

RedirectFromLoginPage(String, Boolean)

Redireciona um utilizador autenticado de volta para a URL originalmente solicitada ou para a URL predefinida.

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

O nome de utilizador autenticado.

createPersistentCookie
Boolean

true criar um cookie duradouro (que seja guardado entre sessões do navegador); caso contrário, false.

Exceções

A URL de retorno especificada na string de consulta contém um protocolo diferente de HTTP: ou HTTPS:.

Exemplos

O exemplo de código seguinte redireciona os utilizadores validados para o URL originalmente solicitado ou para o DefaultUrlarquivo . O exemplo de código utiliza a pertença ao ASP.NET para validar utilizadores. Para mais informações sobre ASP.NET membros, consulte Gestão de Utilizadores através da Utilização da Membresia.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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>

Observações

O RedirectFromLoginPage método redireciona para a URL especificada na cadeia de consulta usando o nome da ReturnURL variável. Por exemplo, no URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, o RedirectFromLoginPage método redireciona para o URL caller.aspxde retorno . Se a ReturnURL variável não existir, o RedirectFromLoginPage método redireciona para a URL na DefaultUrl propriedade.

O ASP.NET adiciona automaticamente o URL de retorno quando o navegador é redirecionado para a página de login.

Por defeito, a ReturnUrl variável deve referir-se a uma página dentro da aplicação atual. Se ReturnUrl se referir a uma página numa aplicação diferente ou num servidor diferente, o RedirectFromLoginPage método redireciona para a URL na DefaultUrl propriedade. Se quiser permitir redirecionamentos para uma página fora da aplicação atual, deve definir a EnableCrossAppRedirects propriedade para true usar o enableCrossAppRedirects atributo do elemento de configuração dos formulários .

Importante

Definir a EnableCrossAppRedirects propriedade para true permitir redirecionamentos entre aplicações é uma potencial ameaça à segurança. Para obter mais informações, consulte a propriedade EnableCrossAppRedirects.

Se a CookiesSupported propriedade for true, e ou a ReturnUrl variável estiver dentro da aplicação atual ou a EnableCrossAppRedirects propriedade for true, então o RedirectFromLoginPage método emite um ticket de autenticação e coloca-o no cookie padrão usando o SetAuthCookie método.

Se CookiesSupported for false e o caminho de redirecionamento for para uma URL na aplicação atual, o ticket é emitido como parte da URL de redirecionamento. Se CookiesSupported for false, EnableCrossAppRedirects é true, e a URL de redirecionamento não se referir a uma página dentro da aplicação atual, o RedirectFromLoginPage método emite um ticket de autenticação e coloca-o na QueryString propriedade.

Ver também

Aplica-se a

RedirectFromLoginPage(String, Boolean, String)

Redireciona um utilizador autenticado de volta para o URL originalmente solicitado ou para o URL predefinido usando o caminho do cookie especificado para o cookie de autenticação de formulários.

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

O nome de utilizador autenticado.

createPersistentCookie
Boolean

true criar um cookie duradouro (que seja guardado entre sessões do navegador); caso contrário, false.

strCookiePath
String

O caminho dos cookies para o ticket de autenticação de formulários.

Exceções

A URL de retorno especificada na string de consulta contém um protocolo diferente de HTTP: ou HTTPS:.

Observações

O RedirectFromLoginPage método redireciona para o URL de retorno especificado na cadeia de consulta usando o nome da ReturnURL variável. Por exemplo, no URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, o RedirectFromLoginPage método redireciona para o URL caller.aspxde retorno . Se a ReturnURL variável não existir, o RedirectFromLoginPage método redireciona para a URL na DefaultUrl propriedade.

O ASP.NET adiciona automaticamente o URL de retorno quando o navegador é redirecionado para a página de login.

Por defeito, a ReturnUrl variável deve referir-se a uma página dentro da aplicação atual. Se ReturnUrl se referir a uma página numa aplicação diferente ou num servidor diferente, o RedirectFromLoginPage método redireciona para a URL na DefaultUrl propriedade. Se quiser permitir redirecionamentos para uma página fora da aplicação atual, deve definir a EnableCrossAppRedirects propriedade para true usar o enableCrossAppRedirects atributo do elemento de configuração dos formulários .

Importante

Definir a EnableCrossAppRedirects propriedade para true permitir redirecionamentos entre aplicações é uma potencial ameaça à segurança. Para obter mais informações, consulte a propriedade EnableCrossAppRedirects.

Se a propriedade for true, e ou a ReturnUrl variável estiver dentro da aplicação atual ou a EnableCrossAppRedirects propriedade for true, então o RedirectFromLoginPage método emite um ticket de autenticação e coloca-o no cookie especificado pelo strCookiePath parâmetro usando o SetAuthCookie método.CookiesSupported

Se CookiesSupported for false e o caminho de redirecionamento for para uma URL na aplicação atual, o ticket é emitido como parte da URL de redirecionamento. Se CookiesSupported for false, EnableCrossAppRedirects é true, e a URL de redirecionamento não se referir a uma página dentro da aplicação atual, o RedirectFromLoginPage método emite um ticket de autenticação e coloca-o na QueryString propriedade.

Ver também

Aplica-se a