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 |
|
Ottenere il nome dominio dell'utente, se l'applicazione utilizza l'autenticazione Windows |
|
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
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Disponibilità per tipo di progetto
Tipo di progetto |
Disponibile |
---|---|
Applicazione Windows |
Sì |
Libreria di classi |
Sì |
Applicazione console |
Sì |
Libreria di controlli Windows |
Sì |
Libreria di controlli Web |
Sì |
Servizio Windows |
Sì |
Sito Web |
Sì |
Autorizzazioni
Potrebbe essere necessaria la seguente autorizzazione:
Autorizzazione |
Descrizione |
---|---|
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