Partager via


My.User.CurrentPrincipal, propriété

Mise à jour : novembre 2007

Obtient ou définit l'entité de sécurité actuelle (pour la sécurité basée sur les rôles).

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

Valeur de retour

Valeur IPrincipal représentant le contexte de sécurité.

Exceptions

Les conditions ci-dessous peuvent générer une exception :

  • l'appelant ne dispose pas des autorisations nécessaires pour définir l'entité de sécurité (SecurityException).

Notes

Vous pouvez affecter à la propriété My.User.CurrentPrincipal un objet qui implémente l'interface IPrincipal pour activer l'authentification personnalisée.

Dans la plupart des types de projet, cette propriété obtient et définit l'entité de sécurité actuelle du thread. Dans une application ASP.NET, cette propriété obtient et définit les informations de sécurité relatives à l'identité de l'utilisateur de la demande HTTP actuelle.

Il s'agit d'un membre avancé qui ne s'affiche dans IntelliSense que si vous cliquez sur l'onglet Tous.

Tâches

Pour

Reportez-vous à

Obtenir le nom de connexion de l'utilisateur

Comment : déterminer le nom de connexion d'un utilisateur

Obtenir le nom de domaine de l'utilisateur si l'application utilise l'authentification Windows

Comment : déterminer le domaine de l'utilisateur

Implémenter une authentification personnalisée

Procédure pas à pas : implémentation d'une authentification et d'une autorisation personnalisées

Exemple

Cet exemple vérifie si l'application utilise une authentification personnalisée ou Windows et utilise ces informations pour analyser la propriété 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

Configuration requise

Espace de noms :Microsoft.VisualBasic.ApplicationServices

Classe :User, WebUser

Assembly : bibliothèque Runtime Visual Basic (dans Microsoft.VisualBasic.dll)

Disponibilité par type de projet

Type de projet

Disponible

Application Windows

Oui

Bibliothèque de classes

Oui

Application console

Oui

Bibliothèque de contrôles Windows

Oui

Bibliothèque de contrôles Web

Oui

Service Windows

Oui

Site Web

Oui

Autorisations

L'autorisation suivante peut être nécessaire :

Autorisation

Description

SecurityPermission

Décrit un ensemble d'autorisations de sécurité appliqué au code. Énumération associée : ControlPrincipal.

Pour plus d'informations, consultez Sécurité d'accès du code et Demande d'autorisations.

Voir aussi

Tâches

Comment : déterminer le nom de connexion d'un utilisateur

Comment : déterminer le domaine de l'utilisateur

Procédure pas à pas : implémentation d'une authentification et d'une autorisation personnalisées

Référence

My.User, objet

System.Security.Principal.IPrincipal

User.CurrentPrincipal