WindowsIdentity Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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 STATUS_ACCESS_DENIED Windows NT durum kodunu 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' nin kullanıcı adı@etki alanı adı.com, başka bir deyişle e-posta adresi biçimindedir. 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
Ö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çı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
Kodun çalıştığı kullanıcı için UPN.
- 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 STATUS_ACCESS_DENIED Windows NT durum kodunu 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 kullanıma sunulan KERB_S4U_LOGON yapısını kullanmasıdır. 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
Kod adına çalışan 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
Ö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, örneğinin 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 userToken
temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle
işlevini çağırarak bırakı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
Kod adına çalışan 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
Ö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 userToken
temsil edilen belirteci alabilirsiniz. Her zaman Windows API CloseHandle
işlevini çağırarak bırakınuserToken
. Yönetilmeyen kodu çağırma hakkında daha fazla bilgi için bkz . Yönetilmeyen DLL İşlevlerini Kullanma.