Condividi tramite


Proprietà My.User.CurrentPrincipal

Aggiornamento: novembre 2007

Consente di ottenere o impostare l'oggetto Principal (per la protezione basata sui ruoli).

' Usage
Dim value As System.Security.Principal.IPrincipal = My.User.CurrentPrincipal
' Declaration
Public Property CurrentPrincipal As System.Security.Principal.IPrincipal

Valore restituito

Valore IPrincipal che indica il contesto della protezione.

Eccezioni

Le seguenti condizioni possono causare un'eccezione:

  • Il chiamante non dispone dell'autorizzazione necessaria per impostare l'oggetto Principal (SecurityException).

Note

È possibile impostare la proprietà My.User.CurrentPrincipal su un oggetto che implementa l'interfaccia IPrincipal per personalizzare l'autenticazione.

In quasi tutti i tipi di progetti, questa proprietà consente di ottenere e impostare l'oggetto Principal corrente del thread. In un'applicazione ASP.NET, invece, questa proprietà consente di ottenere e impostare le informazioni sulla protezione dell'identità utente della richiesta HTTP corrente.

Si tratta di un membro avanzato che non viene visualizzato in IntelliSense se non si fa clic sulla scheda Tutti.

Attività

Per

Vedere

Ottenere il nome di accesso dell'utente

Procedura: determinare il nome di accesso di un utente

Ottenere il nome dominio dell'utente, se l'applicazione utilizza l'autenticazione Windows

Procedura: determinare il dominio utente

Implementare l'autenticazione personalizzata

Procedura dettagliata: implementazione di autenticazione e autorizzazione personalizzate

Esempio

Nell'esempio viene verificato se l'applicazione utilizza l'autenticazione Windows o personalizzata, quindi le informazioni vengono utilizzate per analizzare la proprietàMy.User.Name.

Function GetUserName() As String
    If TypeOf My.User.CurrentPrincipal Is _
    Security.Principal.WindowsPrincipal Then
        ' The application is using Windows authentication.
        ' The name format is DOMAIN\USERNAME.
        Dim parts() As String = Split(My.User.Name, "\")
        Dim username As String = parts(1)
        Return username
    Else
        ' The application is using custom authentication.
        Return My.User.Name
    End If
End Function

Requisiti

Spazio dei nomi:Microsoft.VisualBasic.ApplicationServices

Classe:User, WebUser

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Disponibilità per tipo di progetto

Tipo di progetto

Disponibile

Applicazione Windows

Libreria di classi

Applicazione console

Libreria di controlli Windows

Libreria di controlli Web

Servizio Windows

Sito Web

Autorizzazioni

Potrebbe essere necessaria la seguente autorizzazione:

Autorizzazione

Descrizione

SecurityPermission

Viene descritto un insieme di autorizzazioni di protezione applicato al codice. Enumerazione associata: ControlPrincipal.

Per ulteriori informazioni, vedere Protezione dall'accesso di codice e Richiesta di autorizzazioni.

Vedere anche

Attività

Procedura: determinare il nome di accesso di un utente

Procedura: determinare il dominio utente

Procedura dettagliata: implementazione di autenticazione e autorizzazione personalizzate

Riferimenti

Oggetto My.User

System.Security.Principal.IPrincipal

User.CurrentPrincipal