Export (0) Print
Expand All

WindowsIdentity Constructor (IntPtr, String)

Initializes a new instance of the WindowsIdentity class for the user represented by the specified Windows account token and the specified authentication type.

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

public WindowsIdentity(
	IntPtr userToken,
	string type
)

Parameters

userToken
Type: System.IntPtr

The account token 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.

ExceptionCondition
ArgumentException

userToken is 0.

-or-

userToken is duplicated and invalid for impersonation.

SecurityException

The caller does not have the correct permissions.

-or-

A Win32 error occurred.

The following table shows initial property values for an instance of WindowsIdentity.

Property

Initial value

WindowsAccountType

Normal

IsAuthenticated

false

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.

NoteNote

You can retrieve the token represented by userToken by calling unmanaged code such as the Win32 API LogonUser function. Always release userToken by calling the Win32 API CloseHandle function. For more information on calling unmanaged code, see Consuming Unmanaged DLL Functions.

The following code shows the use of the WindowsIdentity constructor to create a new instance of the WindowsIdentity class for the user represented by the specified Windows account token and the specified authentication type. This code example is part of a larger example provided for the WindowsIdentity class.

    private static void IntPtrStringConstructor(IntPtr logonToken)
    {
        // Construct a WindowsIdentity object using the input account token  
        // and the specified authentication type. 
        string authenticationType = "WindowsAuthentication";
        WindowsIdentity windowsIdentity =
			            new WindowsIdentity(logonToken, authenticationType);

        Console.WriteLine("Created a Windows identity object named " +
            windowsIdentity.Name + ".");
    }

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft