Questa documentazione è stata archiviata e non viene gestita.

Classe LoginView

Aggiornamento: novembre 2007

Visualizza il modello di contenuto appropriato per un utente specifico, in base allo stato di autenticazione e ai ruoli a cui appartiene tale utente.

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

[BindableAttribute(false)]
[ThemeableAttribute(true)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class LoginView : Control, INamingContainer
/** @attribute BindableAttribute(false) */
/** @attribute ThemeableAttribute(true) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public class LoginView extends Control implements INamingContainer
public class LoginView extends Control implements INamingContainer
<asp:LoginView />

Il controllo LoginView visualizza per i siti Web modelli di contenuto (o "visualizzazioni") diversi per utenti diversi, a seconda che l'utente sia autenticato e, in questo caso, in base ai ruoli a cui appartiene per il sito Web in questione.

Nota:

Se non si ha dimestichezza con l'insieme dei controlli di accesso disponibili in ASP.NET, vedere Cenni preliminari sui controlli di accesso di ASP.NET prima di continuare. Per un elenco di altri argomenti correlati ai controlli di accesso e all'appartenenza, vedere Gestione di utenti tramite l'appartenenza.

Il modello archiviato nella proprietà AnonymousTemplate viene visualizzato a tutti i visitatori del sito Web che non hanno eseguito l'accesso. Dopo che un utente ha eseguito l'accesso, nel sito viene visualizzato un modello associato a uno dei ruoli dell'utente nella proprietà RoleGroups o il modello predefinito specificato nella proprietà LoggedInTemplate.

Il controllo LoginView gestisce il passaggio da un modello all'altro dopo che i vari modelli sono stati assegnati a una delle tre proprietà di modello della classe LoginView:

  • AnonymousTemplate - Specifica il modello da visualizzare agli utenti che non hanno eseguito l'accesso al sito Web. Questo modello non verrà mai visualizzato agli utenti che hanno eseguito l'accesso.

  • LoggedInTemplate - Specifica il modello predefinito da visualizzare agli utenti che hanno eseguito l'accesso al sito Web, ma che non appartengono ad alcun gruppo di ruolo con modelli predefiniti.

  • RoleGroups - Specifica il modello da visualizzare agli utenti che hanno eseguito l'accesso e che sono membri di ruoli con modelli definiti per il gruppo di ruolo. I modelli di contenuto sono associati a insiemi specifici di ruoli nelle istanze RoleGroup.

La ricerca dei modelli dei gruppi di ruolo viene effettuata secondo l'ordine di definizione nell'origine. All'utente verrà infatti visualizzato il primo modello di gruppo di ruolo corrispondente. Se un utente è membro di più ruoli, verrà utilizzato il primo modello di gruppo di ruolo che corrisponde a uno dei ruoli dell'utente. Se a un singolo ruolo sono associati più modelli, verrà utilizzato solo il primo modello definito.

Nella tabella riportata di seguito viene illustrato il comportamento del controllo LoginView quando vengono utilizzate varie combinazioni di modelli.

Proprietà di modello LoggedIn

Proprietà di modello Anonymous

Proprietà RoleGroups

Comportamento LoginView

Non impostata

Non impostata

Non impostata

Non visualizza alcun contenuto.

Impostata

Non impostata

Non impostata

Visualizza contenuto solo quando l'utente ha eseguito l'accesso.

Non impostata

Impostata

Non impostata

Visualizza contenuto solo quando l'utente non ha eseguito l'accesso.

Non impostata

Non impostata

Impostata

Visualizza il primo modello dell'insieme RoleGroups che corrisponde a uno dei ruoli dell'utente. Se non viene trovata alcuna corrispondenza, non visualizza alcun contenuto.

Impostata

Impostata

Non impostata

Se l'utente ha eseguito l'accesso, visualizza il modello specificato nella proprietà LoggedInTemplate. Se invece l'utente non ha eseguito l'accesso, visualizza il modello specificato nella proprietà AnonymousTemplate.

Impostata

Impostata

Impostata

Se l'utente ha eseguito l'accesso, visualizza il primo modello dell'insieme RoleGroups che corrisponde a uno dei ruoli dell'utente. Se non viene trovata alcuna corrispondenza, visualizza il modello specificato nella proprietà LoggedInTemplate. Se invece l'utente non ha eseguito l'accesso, visualizza il modello specificato nella proprietà AnonymousTemplate.

Impostata

Non impostata

Impostata

Se l'utente ha eseguito l'accesso, visualizza il primo modello dell'insieme RoleGroups che corrisponde a uno dei ruoli dell'utente. Se non viene trovata alcuna corrispondenza, visualizza il modello specificato nella proprietà LoggedInTemplate. Se invece l'utente non ha eseguito l'accesso, non viene visualizzato alcun contenuto.

Non impostata

Impostata

Impostata

Se l'utente ha eseguito l'accesso, visualizza il primo modello dell'insieme RoleGroups che corrisponde a uno dei ruoli dell'utente. Se non viene trovata alcuna corrispondenza, non viene visualizzato alcun contenuto. Se invece l'utente non ha eseguito l'accesso, visualizza il modello specificato nella proprietà AnonymousTemplate.

Le proprietà AnonymousTemplate e LoggedInTemplate possono essere utilizzate con qualsiasi schema di autenticazione che imposti la proprietà Name della proprietà User dell'oggetto Page. È necessario configurare la gestione dei ruoli per poter utilizzare la proprietà RoleGroups per definire i modelli in base al ruolo dell'utente nel sito Web. Per ulteriori informazioni, vedere Informazioni sulla gestione dei ruoli.

Il metodo Focus non imposta lo stato attivo iniziale della pagina Web sul controllo LoginView o sugli eventuali controlli figlio. I controlli contenuti nel controllo LoginView vengono creati dopo l'evento PreRender. Per impostare lo stato attivo su un controllo figlio contenuto nel controllo LoginView, gestire On_PreRender e chiamare il relativo metodo Focus. È inoltre possibile utilizzare gli eventi ViewChanging e ViewChanged per accedere a livello di codice ai controlli nei modelli del controllo LoginView.

Nell'esempio di codice riportato di seguito viene illustrato come impostare i modelli per ciascuno dei tre tipi di modello supportati dal controllo LoginView.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <p>
                <asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus></p>
            <p>
                <asp:LoginView id="LoginView1" runat="server">
                    <AnonymousTemplate>
                        Please log in for personalized information.
                    </AnonymousTemplate>
                    <LoggedInTemplate>
                        Thanks for logging in 
                        <asp:LoginName id="LoginName1" runat="Server"></asp:LoginName>.
                    </LoggedInTemplate>
                    <RoleGroups>
                        <asp:RoleGroup Roles="Admin">
                            <ContentTemplate>
                                <asp:LoginName id="LoginName2" runat="Server"></asp:LoginName>, you
                                are logged in as an administrator.
                            </ContentTemplate>
                        </asp:RoleGroup>
                    </RoleGroups>
                </asp:LoginView></p>
        </form>
    </body>
</html>


System.Object
  System.Web.UI.Control
    System.Web.UI.WebControls.LoginView

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0
Mostra: