| File: Microsoft\VisualBasic\ApplicationServices\User.vb | Web Access |
| Project: src\winforms\src\Microsoft.VisualBasic.Forms\src\Microsoft.VisualBasic.Forms.vbproj (Microsoft.VisualBasic.Forms) |
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. Imports System.ComponentModel Imports System.Security.Principal Imports System.Threading Namespace Microsoft.VisualBasic.ApplicationServices ''' <summary> ''' Class abstracting the computer user. ''' </summary> Public Class User ''' <summary> ''' Creates an instance of User. ''' </summary> Public Sub New() End Sub ''' <summary> ''' The principal representing the current user. ''' </summary> ''' <value>An <see cref="IPrincipal"/> representing the current user.</value> ''' <remarks> ''' This should be overridden by derived classes that don't get the current. ''' user from the current thread ''' </remarks> Protected Overridable Property InternalPrincipal() As IPrincipal Get Return Thread.CurrentPrincipal End Get Set(value As IPrincipal) Thread.CurrentPrincipal = value End Set End Property ''' <summary> ''' The current <see cref="IPrincipal"/> which represents the current user. ''' </summary> ''' <value>An IPrincipal representing the current user.</value> <EditorBrowsable(EditorBrowsableState.Advanced)> Public Property CurrentPrincipal() As IPrincipal Get Return InternalPrincipal End Get Set(value As IPrincipal) InternalPrincipal = value End Set End Property ''' <summary> ''' Indicates whether or not the current user has been authenticated. ''' </summary> Public ReadOnly Property IsAuthenticated() As Boolean Get Return InternalPrincipal.Identity.IsAuthenticated End Get End Property ''' <summary> ''' The name of the current user. ''' </summary> Public ReadOnly Property Name() As String Get Return InternalPrincipal.Identity.Name End Get End Property ''' <summary> ''' Indicates whether or not the current user is a member of the passed in role. ''' </summary> ''' <param name="role">The name of the role.</param> ''' <returns><see langword="True"/> if the user is a member of the role otherwise <see langword="False"/>.</returns> Public Function IsInRole(role As String) As Boolean Return InternalPrincipal.IsInRole(role) End Function End Class End Namespace