Aracılığıyla paylaş


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 hesabı belirteci tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini başlatır.

WindowsIdentity(WindowsIdentity)

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

WindowsIdentity(String)

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

WindowsIdentity(IntPtr, String)

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

WindowsIdentity(SerializationInfo, StreamingContext)
Geçersiz.

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

WindowsIdentity(String, String)

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

WindowsIdentity(IntPtr, String, WindowsAccountType)

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

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Belirtilen Windows hesabı 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 WindowsIdentity sınıfının yeni bir örneğini başlatır.

WindowsIdentity(IntPtr)

Belirtilen Windows hesabı belirteci tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini 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 çalıştığı kullanıcının hesap belirteci.

Özel durumlar

userToken 0'dır.

-veya-

userToken yineleniyor 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, WindowsIdentityörneğinin ilk özellik değerleri gösterilmektedir.

Mülk İlk değer
AuthenticationType Negotiate
WindowsAccountType Normal
IsAuthenticated false

Not

Windows API LogonUser işlevi gibi yönetilmeyen kodu çağırarak userToken tarafından temsil edilen belirteci alabilirsiniz. Windows API CloseHandle işlevini çağırarak her zaman userToken bırakın. 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 nesnesini kullanarak WindowsIdentity sınıfının yeni bir örneğini 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 WindowsIdentityörneğinin oluşturulduğu nesne.

Şunlara uygulanır

WindowsIdentity(String)

Belirtilen Kullanıcı Asıl Adı (UPN) tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini 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

Kodun çalıştığı 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, etki alanı adıkullanıcı adı biçimindedir.com başka bir deyişle bir e-posta adresidir. sUserPrincipalName'de tanımlanan UPN, Windows API LsaLogonUser işlevi aracılığıyla bu kullanıcıya yönelik bir belirteç almak için kullanılır. Bu belirteç de 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 kullanıma sunulanKERB_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 hesabı belirteci ve belirtilen kimlik doğrulama türü tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini 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 ç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 yineleniyor 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 hesabı belirteci ve belirtilen kimlik doğrulama türüyle temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini oluşturmak üzere WindowsIdentity oluşturucunun kullanımını gösterir. Bu kod örneği, WindowsIdentity sınıfı için 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, WindowsIdentityörneğinin ilk özellik değerleri gösterilmektedir.

Mülk İlk değer
WindowsAccountType Normal
IsAuthenticated false

type parametresinin değeri, AuthenticationType parametresini ayarlamak için kullanılır. type nullise, güvenlik sistemi AuthenticationType Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde Negotiate ve Windows işletim sisteminin önceki sürümlerinde Kerberos olarak ayarlar. 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 userToken tarafından temsil edilen belirteci alabilirsiniz. Windows API CloseHandle işlevini çağırarak her zaman userToken bırakın. 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.

SerializationInfo akışındaki bilgilerle temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir ö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

bir WindowsIdentity işlemler arasında serileştirilemez.

Ç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ü tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini 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

Kodun çalıştığı 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

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

sUserPrincipalName'de tanımlanan UPN, Windows API LsaLogonUser işlevi aracılığıyla bu kullanıcıya yönelik bir belirteç almak için kullanılır. Bu belirteç de 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 kullanıma sunulanKERB_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 hesabı belirteci, belirtilen kimlik doğrulama türü ve belirtilen Windows hesap türü tarafından temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini 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 ç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

Numaralandırma değerlerinden biri.

Özel durumlar

userToken 0'dır.

-veya-

userToken yineleniyor 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 kodda, belirtilen Windows hesap belirteci, belirtilen kimlik doğrulama türü ve belirtilen Windows hesap türüyle temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini oluşturmak üzere WindowsIdentity oluşturucunun kullanımı gösterilmektedir. Bu kod örneği, WindowsIdentity sınıfı için 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, WindowsIdentityörneğinin ilk özellik değerleri gösterilmektedir.

Mülk İlk Değer
IsAuthenticated false

type parametresinin değeri, AuthenticationType parametresini ayarlamak için kullanılır. type nullise, güvenlik sistemi AuthenticationType Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde Negotiate ve Windows işletim sisteminin önceki sürümlerinde Kerberos olarak ayarlar. 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 userToken tarafından temsil edilen belirteci alabilirsiniz. Windows API CloseHandle işlevini çağırarak her zaman userToken bırakın. 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 hesabı 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 WindowsIdentity sınıfının yeni bir örneğini 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 ç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

Numaralandırma değerlerinden biri.

isAuthenticated
Boolean

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

Özel durumlar

userToken 0'dır.

-veya-

userToken yineleniyor 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 kodda, belirtilen Windows hesabı belirteci, belirtilen kimlik doğrulama türü, belirtilen Windows hesabı türü ve belirtilen kimlik doğrulama durumu ile temsil edilen kullanıcı için WindowsIdentity sınıfının yeni bir örneğini oluşturmak üzere WindowsIdentity oluşturucusunun kullanımı gösterilmektedir. Bu kod örneği, WindowsIdentity sınıfı için 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

type parametresinin değeri, AuthenticationType parametresini ayarlamak için kullanılır. type nullise, güvenlik sistemi AuthenticationType Windows Vista'da ve Windows işletim sisteminin sonraki sürümlerinde Negotiate ve Windows işletim sisteminin önceki sürümlerinde Kerberos olarak ayarlar. 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 userToken tarafından temsil edilen belirteci alabilirsiniz. Windows API CloseHandle işlevini çağırarak her zaman userToken bırakın. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz. Yönetilmeyen DLL İşlevlerini Kullanma.

Şunlara uygulanır