My.User.CurrentPrincipal Property
Gets or sets the current principal (for role-based security).
' Usage
Dim value As System.Security.Principal.IPrincipal = My.User.CurrentPrincipal
' Declaration
Public Property CurrentPrincipal As System.Security.Principal.IPrincipal
Property Value
A IPrincipal value representing the security context.
Exceptions
The following conditions can cause an exception:
- The caller does not have the permission required to set the principal (SecurityException).
Remarks
You can set the My.User.CurrentPrincipal property to an object that implements the IPrincipal interface to enable custom authentication.
In most project types, this property gets and sets the thread's current principal. In an ASP.NET application, this property gets and sets the security information for the current HTTP request's user identity.
This is an advanced member; it does not show in IntelliSense unless you click the All tab.
Tasks
To |
See |
---|---|
Get the user's login name |
|
Get the user's domain name, if the application uses Windows authentication |
|
Implement custom authentication |
Walkthrough: Implementing Custom Authentication and Authorization |
Example
This example checks if the application is using Windows or custom authentication, and uses that information to parse My.User.Name property.
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
Requirements
Namespace:Microsoft.VisualBasic.ApplicationServices
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Availability by Project Type
Project type |
Available |
---|---|
Windows Application |
Yes |
Class Library |
Yes |
Console Application |
Yes |
Windows Control Library |
Yes |
Web Control Library |
Yes |
Windows Service |
Yes |
Web Site |
Yes |
Permissions
The following permission may be necessary:
Permission |
Description |
---|---|
Describes a set of security permissions applied to code. Associated enumeration: ControlPrincipal. |
For more information, see Code Access Security and Requesting Permissions.
See Also
Tasks
How to: Determine a User's Login Name
How to: Determine the User's Domain
Walkthrough: Implementing Custom Authentication and Authorization