WindowsIdentity Constructor (String, String)

 

Initializes a new instance of the WindowsIdentity class for the user represented by the specified User Principal Name (UPN) and the specified authentication type.

Namespace:   System.Security.Principal
Assembly:  mscorlib (in mscorlib.dll)

Public Sub New (
	sUserPrincipalName As String,
	type As String
)

Parameters

sUserPrincipalName
Type: System.String

The UPN for the user on whose behalf the code is running.

type
Type: System.String

(Informational use only.) The type of authentication used to identify the user. For more information, see Remarks.

Exception Condition
UnauthorizedAccessException

Windows returned the Windows NT status code STATUS_ACCESS_DENIED.

OutOfMemoryException

There is insufficient memory available.

SecurityException

The caller does not have the correct permissions.

-or-

The computer is not attached to a Windows 2003 or later domain.

-or-

The computer is not running Windows 2003 or later.

-or-

The user is not a member of the domain the computer is attached to.

The value of the type parameter is used to set the AuthenticationType parameter. If type is null, the security system sets AuthenticationType to Negotiate on Windows Vista and later versions of the Windows operating system, and to Kerberos on earlier versions of the Windows operating system. The security system does not use this value; it is for informational use only.

The UPN identified in sUserPrincipalName is used to retrieve a token for that user through the Win32 API LsaLogonUser function. In turn that token is used to identify the user. An exception might be returned due to the inability to log on using the supplied UPN.

System_CAPS_noteNote

This constructor is intended for use only on computers joined to Windows Server 2003 or later domains. An exception is thrown for earlier domain types. This restriction is due to the fact that this constructor uses the KERB_S4U_LOGON structure, which was first introduced in Windows Server 2003.

SecurityPermission

for the ability to manipulate the principal object. Associated enumeration: SecurityPermissionFlag.ControlPrincipal.

SecurityPermission

for the ability to access unmanaged code. Associated enumeration: SecurityPermissionFlag.UnmanagedCode.

.NET Framework
Available since 1.1
Return to top
Show: