WindowsIdentity Oluşturucular

Tanım

WindowsIdentity sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

WindowsIdentity(IntPtr)

Belirtilen Windows hesap belirteci tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(WindowsIdentity)

Belirtilen WindowsIdentity nesneyi kullanarak sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(String)

Belirtilen Kullanıcı Asıl Adı (UPN) tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(IntPtr, String)

Belirtilen Windows hesap belirteci ve belirtilen kimlik doğrulama türü tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(SerializationInfo, StreamingContext)
Geçersiz.

Bir akıştaki WindowsIdentity bilgilerle temsil edilen kullanıcı için sınıfının yeni bir SerializationInfo örneğini başlatır.

WindowsIdentity(String, String)

Belirtilen Kullanıcı Asıl Adı (UPN) ve belirtilen kimlik doğrulama türüyle temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(IntPtr, String, WindowsAccountType)

Belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü ve belirtilen Windows hesap türü ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü, belirtilen Windows hesap türü ve belirtilen kimlik doğrulama durumu ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

WindowsIdentity(IntPtr)

Belirtilen Windows hesap belirteci tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(IntPtr userToken);
public WindowsIdentity (IntPtr userToken);
new System.Security.Principal.WindowsIdentity : nativeint -> System.Security.Principal.WindowsIdentity
Public Sub New (userToken As IntPtr)

Parametreler

userToken
IntPtr

nativeint

Kodun üzerinde çalıştığı kullanıcının hesap belirteci.

Özel durumlar

userToken 0'dır.

-veya-

userToken yinelenen ve kimliğe bürünme için geçersiz.

Çağıranın doğru izinleri yok.

-veya-

Win32 hatası oluştu.

Açıklamalar

Aşağıdaki tabloda bir örneği için ilk özellik değerleri gösterilmektedir WindowsIdentity.

Özellik İlk değer
AuthenticationType Negotiate
WindowsAccountType Normal
IsAuthenticated false

Not

Windows API LogonUser işlevi gibi yönetilmeyen kodu çağırarak tarafından userToken temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle işlevini çağırarak yayın yapınuserToken. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz . Yönetilmeyen DLL İşlevlerini Kullanma.

Şunlara uygulanır

WindowsIdentity(WindowsIdentity)

Belirtilen WindowsIdentity nesneyi kullanarak sınıfının yeni bir örneğini WindowsIdentity başlatır.

protected:
 WindowsIdentity(System::Security::Principal::WindowsIdentity ^ identity);
protected WindowsIdentity (System.Security.Principal.WindowsIdentity identity);
new System.Security.Principal.WindowsIdentity : System.Security.Principal.WindowsIdentity -> System.Security.Principal.WindowsIdentity
Protected Sub New (identity As WindowsIdentity)

Parametreler

identity
WindowsIdentity

yeni örneğinin WindowsIdentityoluşturulduğu nesne.

Şunlara uygulanır

WindowsIdentity(String)

Belirtilen Kullanıcı Asıl Adı (UPN) tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(System::String ^ sUserPrincipalName);
public WindowsIdentity (string sUserPrincipalName);
new System.Security.Principal.WindowsIdentity : string -> System.Security.Principal.WindowsIdentity
Public Sub New (sUserPrincipalName As String)

Parametreler

sUserPrincipalName
String

Kod adına çalıştırılan kullanıcının UPN'sini.

Özel durumlar

Windows Windows NT durum kodunu STATUS_ACCESS_DENIED döndürdü.

Kullanılabilir bellek yetersiz.

Çağıranın doğru izinleri yok.

-veya-

Bilgisayar bir Windows 2003 veya sonraki bir etki alanına bağlı değil.

-veya-

Bilgisayarda Windows 2003 veya üzeri çalışmıyor.

-veya-

Kullanıcı, bilgisayarın bağlı olduğu etki alanının üyesi değil.

Açıklamalar

UPN,domainname.comkullanıcı adı@ biçimindedir, başka bir deyişle bir e-posta adresidir. içinde sUserPrincipalName tanımlanan UPN, Windows API LsaLogonUser işlevi aracılığıyla bu kullanıcı için bir belirteç almak için kullanılır. Buna karşılık bu belirteç kullanıcıyı tanımlamak için kullanılır. Sağlanan UPN'yi kullanarak oturum açamama nedeniyle bir özel durum döndürülebilir.

Not

Bu oluşturucu yalnızca Windows Server 2003 veya sonraki etki alanlarına katılmış bilgisayarlarda kullanılmak üzere tasarlanmıştır. Önceki etki alanı türleri için bir özel durum oluşturulur. Bu kısıtlama, bu oluşturucunun ilk olarak Windows Server 2003'te tanıtılan KERB_S4U_LOGON yapısını kullanması nedeniyledir. Ayrıca, bu oluşturucu hedef kullanıcı hesabındaki token-groups-global-and-universal (TGGAU) özniteliğine okuma erişimi gerektirir.

Şunlara uygulanır

WindowsIdentity(IntPtr, String)

Belirtilen Windows hesap belirteci ve belirtilen kimlik doğrulama türü tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(IntPtr userToken, System::String ^ type);
public WindowsIdentity (IntPtr userToken, string type);
new System.Security.Principal.WindowsIdentity : nativeint * string -> System.Security.Principal.WindowsIdentity
Public Sub New (userToken As IntPtr, type As String)

Parametreler

userToken
IntPtr

nativeint

Kodun üzerinde çalıştığı kullanıcının hesap belirteci.

type
String

(Yalnızca bilgilendirme amaçlı kullanım.) Kullanıcıyı tanımlamak için kullanılan kimlik doğrulama türü.

Özel durumlar

userToken 0'dır.

-veya-

userToken yinelenen ve kimliğe bürünme için geçersiz.

Çağıranın doğru izinleri yok.

-veya-

Win32 hatası oluştu.

Örnekler

Aşağıdaki kod, belirtilen Windows hesap belirteci ve belirtilen kimlik doğrulama türü tarafından temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity oluşturmak için oluşturucunun kullanımını WindowsIdentity gösterir. Bu kod örneği, sınıfı için WindowsIdentity sağlanan daha büyük bir örneğin parçasıdır.

void IntPtrStringConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token 
   // and the specified authentication type.
   String^ authenticationType = "WindowsAuthentication";
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}
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 + ".");
}
Private Sub IntPtrStringConstructor(ByVal logonToken As IntPtr)
    ' Construct a WindowsIdentity object using the input account token 
    ' and the specified authentication type
    Dim authenticationType = "WindowsAuthentication"
    Dim windowsIdentity As _
        New WindowsIdentity(logonToken, authenticationType)

    WriteLine("Created a Windows identity object named " + _
        windowsIdentity.Name + ".")
End Sub

Açıklamalar

Aşağıdaki tabloda bir örneği için ilk özellik değerleri gösterilmektedir WindowsIdentity.

Özellik İlk değer
WindowsAccountType Normal
IsAuthenticated false

parametresinin type değeri, parametreyi AuthenticationType ayarlamak için kullanılır. isetype, güvenlik sistemi Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde ve Kerberos Windows işletim sisteminin önceki sürümlerinde olarak ayarlanır AuthenticationTypeNegotiate.null Güvenlik sistemi bu değeri kullanmaz; yalnızca bilgilendirme amaçlıdır.

Not

Windows API LogonUser işlevi gibi yönetilmeyen kodu çağırarak tarafından userToken temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle işlevini çağırarak yayın yapınuserToken. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz . Yönetilmeyen DLL İşlevlerini Kullanma.

Şunlara uygulanır

WindowsIdentity(SerializationInfo, StreamingContext)

Dikkat

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Bir akıştaki WindowsIdentity bilgilerle temsil edilen kullanıcı için sınıfının yeni bir SerializationInfo örneğini başlatır.

public:
 WindowsIdentity(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
public WindowsIdentity (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public WindowsIdentity (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.Security.Principal.WindowsIdentity : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Security.Principal.WindowsIdentity
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new System.Security.Principal.WindowsIdentity : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Security.Principal.WindowsIdentity
Public Sub New (info As SerializationInfo, context As StreamingContext)

Parametreler

info
SerializationInfo

Kullanıcının hesap bilgilerini içeren nesne.

context
StreamingContext

Akış özelliklerini gösteren bir nesne.

Öznitelikler

Özel durumlar

İşlemler WindowsIdentity arasında seri hale getirilemez.

Çağıranın doğru izinleri yok.

-veya-

Win32 hatası oluştu.

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Şunlara uygulanır

WindowsIdentity(String, String)

Belirtilen Kullanıcı Asıl Adı (UPN) ve belirtilen kimlik doğrulama türüyle temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(System::String ^ sUserPrincipalName, System::String ^ type);
public WindowsIdentity (string sUserPrincipalName, string type);
new System.Security.Principal.WindowsIdentity : string * string -> System.Security.Principal.WindowsIdentity
Public Sub New (sUserPrincipalName As String, type As String)

Parametreler

sUserPrincipalName
String

Kod adına çalıştırılan kullanıcının UPN'sini.

type
String

(Yalnızca bilgilendirme amaçlı kullanım.) Kullanıcıyı tanımlamak için kullanılan kimlik doğrulama türü.

Özel durumlar

Windows Windows NT durum kodunu STATUS_ACCESS_DENIED döndürdü.

Kullanılabilir bellek yetersiz.

Çağıranın doğru izinleri yok.

-veya-

Bilgisayar bir Windows 2003 veya sonraki bir etki alanına bağlı değil.

-veya-

Bilgisayarda Windows 2003 veya üzeri çalışmıyor.

-veya-

Kullanıcı, bilgisayarın bağlı olduğu etki alanının üyesi değil.

Açıklamalar

parametresinin type değeri, parametreyi AuthenticationType ayarlamak için kullanılır. isetype, güvenlik sistemi Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde ve Kerberos Windows işletim sisteminin önceki sürümlerinde olarak ayarlanır AuthenticationTypeNegotiate.null Güvenlik sistemi bu değeri kullanmaz; yalnızca bilgilendirme amaçlıdır.

içinde sUserPrincipalName tanımlanan UPN, Windows API LsaLogonUser işlevi aracılığıyla bu kullanıcı için bir belirteç almak için kullanılır. Buna karşılık bu belirteç kullanıcıyı tanımlamak için kullanılır. Sağlanan UPN'yi kullanarak oturum açamama nedeniyle bir özel durum döndürülebilir.

Not

Bu oluşturucu yalnızca Windows Server 2003 veya sonraki etki alanlarına katılmış bilgisayarlarda kullanılmak üzere tasarlanmıştır. Önceki etki alanı türleri için bir özel durum oluşturulur. Bu kısıtlama, bu oluşturucunun ilk olarak Windows Server 2003'te tanıtılan KERB_S4U_LOGON yapısını kullanması nedeniyledir. Ayrıca, bu oluşturucu hedef kullanıcı hesabındaki token-groups-global-and-universal (TGGAU) özniteliğine okuma erişimi gerektirir.

Şunlara uygulanır

WindowsIdentity(IntPtr, String, WindowsAccountType)

Belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü ve belirtilen Windows hesap türü ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(IntPtr userToken, System::String ^ type, System::Security::Principal::WindowsAccountType acctType);
public WindowsIdentity (IntPtr userToken, string type, System.Security.Principal.WindowsAccountType acctType);
new System.Security.Principal.WindowsIdentity : nativeint * string * System.Security.Principal.WindowsAccountType -> System.Security.Principal.WindowsIdentity
Public Sub New (userToken As IntPtr, type As String, acctType As WindowsAccountType)

Parametreler

userToken
IntPtr

nativeint

Kodun üzerinde çalıştığı kullanıcının hesap belirteci.

type
String

(Yalnızca bilgilendirme amaçlı kullanım.) Kullanıcıyı tanımlamak için kullanılan kimlik doğrulama türü.

acctType
WindowsAccountType

Sabit listesi değerlerinden biri.

Özel durumlar

userToken 0'dır.

-veya-

userToken yinelenen ve kimliğe bürünme için geçersiz.

Çağıranın doğru izinleri yok.

-veya-

Win32 hatası oluştu.

Örnekler

Aşağıdaki kod, belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü ve belirtilen Windows hesap türü ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity oluşturmak için oluşturucunun kullanımını WindowsIdentity gösterir. Bu kod örneği, sınıfı için WindowsIdentity sağlanan daha büyük bir örneğin parçasıdır.

void IntPtrStringTypeConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token,
   // and the specified authentication type and Windows account type.
   String^ authenticationType = "WindowsAuthentication";
   WindowsAccountType guestAccount = WindowsAccountType::Guest;
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType,guestAccount );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}
private static void IntPtrStringTypeConstructor(IntPtr logonToken)
{
    // Construct a WindowsIdentity object using the input account token,
    // and the specified authentication type, and Windows account type.
    string authenticationType = "WindowsAuthentication";
    WindowsAccountType guestAccount = WindowsAccountType.Guest;
    WindowsIdentity windowsIdentity =
        new WindowsIdentity(logonToken, authenticationType, guestAccount);

    Console.WriteLine("Created a Windows identity object named " +
        windowsIdentity.Name + ".");
}
Private Sub IntPtrStringTypeConstructor(ByVal logonToken As IntPtr)
    ' Construct a WindowsIdentity object using the input account token,
    ' and the specified authentication type and Windows account type.
    Dim authenticationType As String = "WindowsAuthentication"
    Dim guestAccount As WindowsAccountType = WindowsAccountType.Guest
    Dim windowsIdentity As _
        New WindowsIdentity(logonToken, authenticationType, guestAccount)

    WriteLine("Created a Windows identity object named " + _
        windowsIdentity.Name + ".")
End Sub

Açıklamalar

Aşağıdaki tabloda bir örneği için ilk özellik değerleri gösterilmektedir WindowsIdentity.

Özellik İlk Değer
IsAuthenticated false

parametresinin type değeri, parametreyi AuthenticationType ayarlamak için kullanılır. isetype, güvenlik sistemi Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde ve Kerberos Windows işletim sisteminin önceki sürümlerinde olarak ayarlanır AuthenticationTypeNegotiate.null Güvenlik sistemi bu değeri kullanmaz; yalnızca bilgilendirme amaçlıdır.

Not

Windows API LogonUser işlevi gibi yönetilmeyen kodu çağırarak tarafından userToken temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle işlevini çağırarak yayın yapınuserToken. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz . Yönetilmeyen DLL İşlevlerini Kullanma.

Şunlara uygulanır

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü, belirtilen Windows hesap türü ve belirtilen kimlik doğrulama durumu ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity başlatır.

public:
 WindowsIdentity(IntPtr userToken, System::String ^ type, System::Security::Principal::WindowsAccountType acctType, bool isAuthenticated);
public WindowsIdentity (IntPtr userToken, string type, System.Security.Principal.WindowsAccountType acctType, bool isAuthenticated);
new System.Security.Principal.WindowsIdentity : nativeint * string * System.Security.Principal.WindowsAccountType * bool -> System.Security.Principal.WindowsIdentity
Public Sub New (userToken As IntPtr, type As String, acctType As WindowsAccountType, isAuthenticated As Boolean)

Parametreler

userToken
IntPtr

nativeint

Kodun üzerinde çalıştığı kullanıcının hesap belirteci.

type
String

(Yalnızca bilgilendirme amaçlı kullanım.) Kullanıcıyı tanımlamak için kullanılan kimlik doğrulama türü.

acctType
WindowsAccountType

Sabit listesi değerlerinden biri.

isAuthenticated
Boolean

true kullanıcının kimliğinin doğrulandığını belirtmek için; aksi takdirde , false.

Özel durumlar

userToken 0'dır.

-veya-

userToken yinelenen ve kimliğe bürünme için geçersiz.

Çağıranın doğru izinleri yok.

-veya-

Win32 hatası oluştu.

Örnekler

Aşağıdaki kod, belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü, belirtilen Windows hesap türü ve belirtilen kimlik doğrulama durumu ile temsil edilen kullanıcı için sınıfının yeni bir örneğini WindowsIdentity oluşturmak için oluşturucunun kullanımını WindowsIdentity gösterir. Bu kod örneği, sınıfı için WindowsIdentity sağlanan daha büyük bir örneğin parçasıdır.

void IntPrtStringTypeBoolConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token,
   // and the specified authentication type, Windows account type, and
   // authentication flag.
   String^ authenticationType = "WindowsAuthentication";
   WindowsAccountType guestAccount = WindowsAccountType::Guest;
   bool isAuthenticated = true;
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType,guestAccount,isAuthenticated );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}
private static void IntPrtStringTypeBoolConstructor(IntPtr logonToken)
{
    // Construct a WindowsIdentity object using the input account token,
    // and the specified authentication type, Windows account type, and
    // authentication flag.
    string authenticationType = "WindowsAuthentication";
    WindowsAccountType guestAccount = WindowsAccountType.Guest;
    bool isAuthenticated = true;
    WindowsIdentity windowsIdentity = new WindowsIdentity(
        logonToken, authenticationType, guestAccount, isAuthenticated);

    Console.WriteLine("Created a Windows identity object named " +
        windowsIdentity.Name + ".");
}
Private Sub IntPrtStringTypeBoolConstructor(ByVal logonToken As IntPtr)
    ' Construct a WindowsIdentity object using the input account token,
    ' and the specified authentication type, Windows account type, and
    ' authentication flag.
    Dim authenticationType As String = "WindowsAuthentication"
    Dim guestAccount As WindowsAccountType = WindowsAccountType.Guest
    Dim isAuthenticated As Boolean = True
    Dim windowsIdentity As New WindowsIdentity( _
        logonToken, authenticationType, guestAccount, isAuthenticated)

    WriteLine("Created a Windows identity object named " + _
        windowsIdentity.Name + ".")
End Sub

Açıklamalar

parametresinin type değeri, parametreyi AuthenticationType ayarlamak için kullanılır. isetype, güvenlik sistemi Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde ve Kerberos Windows işletim sisteminin önceki sürümlerinde olarak ayarlanır AuthenticationTypeNegotiate.null Güvenlik sistemi bu değeri kullanmaz; yalnızca bilgilendirme amaçlıdır.

Windows API LogonUser işlevi gibi yönetilmeyen kodu çağırarak tarafından userToken temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle işlevini çağırarak yayın yapınuserToken. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz . Yönetilmeyen DLL İşlevlerini Kullanma.

Şunlara uygulanır