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 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
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ı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 sunulan
Ş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
Ö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
null
ise, 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çı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
null
ise, 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 sunulan
Ş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
Ö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
null
ise, 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
Ö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
null
ise, 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.