FormsAuthentication.RedirectFromLoginPage Metodo

Definizione

Reindirizza un utente autenticato all'URL inizialmente richiesto o all'URL predefinito.

Overload

RedirectFromLoginPage(String, Boolean)

Reindirizza un utente autenticato all'URL inizialmente richiesto o all'URL predefinito.

RedirectFromLoginPage(String, Boolean, String)

Reindirizza un utente autenticato all'URL inizialmente richiesto o all'URL predefinito utilizzando il percorso del cookie specificato per il cookie di autenticazione basata su form.

RedirectFromLoginPage(String, Boolean)

Reindirizza un utente autenticato all'URL inizialmente richiesto o all'URL predefinito.

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)

Parametri

userName
String

Nome dell'utente autenticato.

createPersistentCookie
Boolean

true per creare un cookie permanente, ovvero un cookie salvato in più sessioni del browser; in caso contrario, false.

Eccezioni

L'URL restituito specificato nella stringa di query contiene un protocollo diverso da HTTP: o HTTPS:.

Esempio

Nell'esempio di codice seguente gli utenti convalidati vengono reindirizzati all'URL richiesto originariamente o all'oggetto DefaultUrl. L'esempio di codice usa ASP.NET appartenenza per convalidare gli utenti. Per altre informazioni sull'appartenenza ASP.NET, vedere Gestione degli utenti tramite l'appartenenza.

Importante

Questo esempio contiene una casella di testo che accetta l'input utente, ovvero una potenziale minaccia di sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.

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

Commenti

Il RedirectFromLoginPage metodo reindirizza all'URL specificato nella stringa di query usando il nome della ReturnURL variabile. Ad esempio, nell'URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, il RedirectFromLoginPage metodo reindirizza all'URL caller.aspxrestituito . Se la ReturnURL variabile non esiste, il RedirectFromLoginPage metodo reindirizza all'URL nella DefaultUrl proprietà.

ASP.NET aggiunge automaticamente l'URL restituito quando il browser viene reindirizzato alla pagina di accesso.

Per impostazione predefinita, la ReturnUrl variabile deve fare riferimento a una pagina all'interno dell'applicazione corrente. Se ReturnUrl si riferisce a una pagina in un'applicazione diversa o in un server diverso, i RedirectFromLoginPage metodi reindirizza all'URL nella DefaultUrl proprietà. Se si desidera consentire il reindirizzamento a una pagina esterna all'applicazione corrente, è necessario impostare la EnableCrossAppRedirects proprietà su true usando l'attributo enableCrossAppRedirects dell'elemento di configurazione dei moduli .

Importante

L'impostazione della EnableCrossAppRedirects proprietà su per true consentire reindirizzamenti tra applicazioni è una potenziale minaccia di sicurezza. Per altre informazioni, vedere la proprietà EnableCrossAppRedirects.

Se la proprietà è true, e la CookiesSupported ReturnUrl variabile si trova all'interno dell'applicazione corrente o la EnableCrossAppRedirects proprietà è true, il RedirectFromLoginPage metodo genera un ticket di autenticazione e lo inserisce nel cookie predefinito usando il SetAuthCookie metodo .

Se CookiesSupported è false e il percorso di reindirizzamento corrisponde a un URL nell'applicazione corrente, il ticket viene emesso come parte dell'URL di reindirizzamento. Se CookiesSupported è false``true, EnableCrossAppRedirects e l'URL di reindirizzamento non fa riferimento a una pagina all'interno dell'applicazione corrente, il RedirectFromLoginPage metodo rilascia un ticket di autenticazione e lo inserisce nella QueryString proprietà.

Vedi anche

Si applica a

RedirectFromLoginPage(String, Boolean, String)

Reindirizza un utente autenticato all'URL inizialmente richiesto o all'URL predefinito utilizzando il percorso del cookie specificato per il cookie di autenticazione basata su form.

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)

Parametri

userName
String

Nome dell'utente autenticato.

createPersistentCookie
Boolean

true per creare un cookie permanente, ovvero un cookie salvato in più sessioni del browser; in caso contrario, false.

strCookiePath
String

Percorso del cookie del ticket di autenticazione basata su form.

Eccezioni

L'URL restituito specificato nella stringa di query contiene un protocollo diverso da HTTP: o HTTPS:.

Commenti

Il RedirectFromLoginPage metodo reindirizza all'URL restituito specificato nella stringa di query usando il nome della ReturnURL variabile. Ad esempio, nell'URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx, il RedirectFromLoginPage metodo reindirizza all'URL caller.aspxrestituito . Se la ReturnURL variabile non esiste, il RedirectFromLoginPage metodo reindirizza all'URL nella DefaultUrl proprietà.

ASP.NET aggiunge automaticamente l'URL restituito quando il browser viene reindirizzato alla pagina di accesso.

Per impostazione predefinita, la ReturnUrl variabile deve fare riferimento a una pagina all'interno dell'applicazione corrente. Se ReturnUrl si riferisce a una pagina in un'applicazione diversa o in un server diverso, il RedirectFromLoginPage metodo reindirizza all'URL nella DefaultUrl proprietà. Se si desidera consentire il reindirizzamento a una pagina esterna all'applicazione corrente, è necessario impostare la EnableCrossAppRedirects proprietà su true usando l'attributo enableCrossAppRedirects dell'elemento di configurazione dei moduli .

Importante

L'impostazione della EnableCrossAppRedirects proprietà su per true consentire reindirizzamenti tra applicazioni è una potenziale minaccia di sicurezza. Per altre informazioni, vedere la proprietà EnableCrossAppRedirects.

Se la proprietà è true, e la ReturnUrl CookiesSupported variabile si trova all'interno dell'applicazione corrente o la EnableCrossAppRedirects proprietà è true, il RedirectFromLoginPage metodo genera un ticket di autenticazione e lo inserisce nel cookie specificato dal parametro usando il strCookiePath SetAuthCookie metodo .

Se CookiesSupported è false e il percorso di reindirizzamento corrisponde a un URL nell'applicazione corrente, il ticket viene emesso come parte dell'URL di reindirizzamento. Se CookiesSupported è false``true, EnableCrossAppRedirects e l'URL di reindirizzamento non fa riferimento a una pagina all'interno dell'applicazione corrente, il RedirectFromLoginPage metodo rilascia un ticket di autenticazione e lo inserisce nella QueryString proprietà.

Vedi anche

Si applica a