Aracılığıyla paylaş


CAccessToken Sınıfı

Not

Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Bu sınıf, erişim belirteci için sarmalayıcıdır.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

class CAccessToken

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CAccessToken::~CAccessToken Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CAccessToken::Attach Verilen erişim belirteci tanıtıcısının sahipliğini almak için bu yöntemi çağırın.
CAccessToken::CheckTokenMembership Nesnede belirtilen SID'nin etkinleştirilip etkinleştirilmediğini belirlemek için bu yöntemi çağırın CAccessToken .
CAccessToken::CreateImpersonationToken Yeni bir kimliğe bürünme erişim belirteci oluşturmak için bu yöntemi çağırın.
CAccessToken::CreatePrimaryToken Yeni bir birincil belirteç oluşturmak için bu yöntemi çağırın.
CAccessToken::CreateProcessAsUser Nesnesi tarafından temsil edilen kullanıcının güvenlik bağlamında çalışan yeni bir işlem oluşturmak için bu yöntemi çağırın CAccessToken .
CAccessToken::CreateRestrictedToken Yeni, kısıtlanmış CAccessToken bir nesne oluşturmak için bu yöntemi çağır.
CAccessToken::D etach Erişim belirtecinin sahipliğini iptal etmek için bu yöntemi çağırın.
CAccessToken::D isablePrivilege Nesnedeki bir ayrıcalığı devre dışı bırakmak için bu yöntemi çağırın CAccessToken .
CAccessToken::D isablePrivileges Nesnedeki bir veya daha fazla ayrıcalığı devre dışı bırakmak için bu yöntemi çağırın CAccessToken .
CAccessToken::EnablePrivilege Nesnede bir ayrıcalık etkinleştirmek için bu yöntemi çağırın CAccessToken .
CAccessToken::EnablePrivileges Nesnede bir veya daha fazla ayrıcalığı etkinleştirmek için bu yöntemi çağırın CAccessToken .
CAccessToken::GetDefaultDacl Nesnenin varsayılan DACL'sini CAccessToken döndürmek için bu yöntemi çağırın.
CAccessToken::GetEffectiveToken Geçerli iş parçacığı için CAccessToken geçerli erişim belirtecine eşit nesneyi almak için bu yöntemi çağırın.
CAccessToken::GetGroups Nesnenin belirteç gruplarını döndürmek CAccessToken için bu yöntemi çağırın.
CAccessToken::GetHandle Erişim belirtecine bir tanıtıcı almak için bu yöntemi çağırın.
CAccessToken::GetImpersonationLevel Erişim belirtecinden kimliğe bürünme düzeyini almak için bu yöntemi çağırın.
CAccessToken::GetLogonSessionId Nesneyle ilişkilendirilmiş Oturum Açma Oturum Kimliğini almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetLogonSid Nesneyle ilişkilendirilmiş Oturum Açma SID'sini almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetOwner Nesneyle ilişkili sahibi almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetPrimaryGroup Nesnesiyle ilişkilendirilmiş birincil grubu almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetPrivileges Nesnesiyle ilişkili ayrıcalıkları almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetProcessToken verilen işlemden erişim belirteci ile başlatmak CAccessToken için bu yöntemi çağırın.
CAccessToken::GetProfile Nesneyle ilişkilendirilmiş kullanıcı profiline işaret eden tanıtıcıyı almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetSource Nesnenin kaynağını almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetStatistics Nesnesiyle ilişkili bilgileri almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetTerminalServicesSessionId Nesnesiyle ilişkilendirilmiş Terminal Hizmetleri Oturum Kimliğini almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetThreadToken belirtilen iş parçacığından belirteç ile başlatmak CAccessToken için bu yöntemi çağırın.
CAccessToken::GetTokenId Nesnesiyle ilişkilendirilmiş Belirteç Kimliğini almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetType Nesnenin belirteç türünü almak için bu yöntemi çağırın CAccessToken .
CAccessToken::GetUser Nesnesiyle ilişkili kullanıcıyı tanımlamak için bu yöntemi çağırın CAccessToken .
CAccessToken::HKeyCurrentUser Nesneyle ilişkilendirilmiş kullanıcı profiline işaret eden tanıtıcıyı almak için bu yöntemi çağırın CAccessToken .
CAccessToken::Impersonate Bir iş parçacığına kimliğe bürünme CAccessToken atamak için bu yöntemi çağır.
CAccessToken::ImpersonateLoggedOnUser Çağıran iş parçacığının oturum açmış bir kullanıcının güvenlik bağlamının kimliğine bürünebilmesini sağlamak için bu yöntemi çağırın.
CAccessToken::IsTokenRestricted Nesnenin CAccessToken kısıtlanmış SID'lerin listesini içerip içermediğini test etmek için bu yöntemi çağırın.
CAccessToken::LoadUserProfile Nesnesiyle ilişkilendirilmiş kullanıcı profilini yüklemek için bu yöntemi çağırın CAccessToken .
CAccessToken::LogonUser Verilen kimlik bilgileriyle ilişkilendirilmiş kullanıcı için oturum açma oturumu oluşturmak için bu yöntemi çağırın.
CAccessToken::OpenCOMClientToken bu yöntemi, COM istemcisinden erişim belirteci ile başlatmak CAccessToken için bir istemciden gelen çağrıyı işleyen bir COM sunucusundan çağırın.
CAccessToken::OpenNamedPipeClientToken İstemciden erişim belirteci ile başlatmak CAccessToken için adlandırılmış bir kanal üzerinden istekleri alan bir sunucudan bu yöntemi çağırın.
CAccessToken::OpenRPCClientToken İstemciden erişim belirteci ile başlatmak için bir RPC istemcisinden gelen çağrıyı CAccessToken işleyen bir sunucunun içinden bu yöntemi çağırın.
CAccessToken::OpenThreadToken Kimliğe bürünme düzeyini ayarlamak için bu yöntemi çağırın ve ardından belirtilen iş parçacığından belirteci ile başlatın CAccessToken .
CAccessToken::P rivilegeCheck Nesnede belirtilen bir ayrıcalık kümesinin etkinleştirilip etkinleştirilmediğini belirlemek için bu yöntemi çağırın CAccessToken .
CAccessToken::Revert Kimliğe bürünme belirteci kullanan bir iş parçacığını durdurmak için bu yöntemi çağırın.
CAccessToken::SetDefaultDacl Nesnenin varsayılan DACL'sini ayarlamak için bu yöntemi çağırın CAccessToken .
CAccessToken::SetOwner Nesnenin sahibini ayarlamak için bu yöntemi çağırın CAccessToken .
CAccessToken::SetPrimaryGroup Nesnenin birincil grubunu ayarlamak için bu yöntemi çağırın CAccessToken .

Açıklamalar

Erişim belirteci, bir işlemin veya iş parçacığının güvenlik bağlamını açıklayan ve bir Windows sisteminde oturum açmış her kullanıcıya ayrılan bir nesnedir.

Windows'ta erişim denetimi modeline giriş için bkz . Windows SDK'sında Erişim Denetimi .

Gereksinimler

Üst bilgi: atlsecurity.h

CAccessToken::Attach

Verilen erişim belirteci tanıtıcısının sahipliğini almak için bu yöntemi çağırın.

void Attach(HANDLE hToken) throw();

Parametreler

hToken
Erişim belirtecinin tanıtıcısı.

Açıklamalar

Hata ayıklama derlemelerinde, nesne zaten bir erişim belirtecinin CAccessToken sahipliğine sahipse bir onaylama hatası oluşur.

CAccessToken::~CAccessToken

Yok edici.

virtual ~CAccessToken() throw();

Açıklamalar

Ayrılan tüm kaynakları serbesttir.

CAccessToken::CheckTokenMembership

Nesnede belirtilen SID'nin etkinleştirilip etkinleştirilmediğini belirlemek için bu yöntemi çağırın CAccessToken .

bool CheckTokenMembership(
    const CSid& rSid,
    bool* pbIsMember) const throw(...);

Parametreler

rSid
CSid Sınıfı nesnesine başvuru.

pbIsMember
Denetimin sonuçlarını alan bir değişkenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

yöntemi, CheckTokenMembership erişim belirtecinin kullanıcı ve grup SID'lerinde SID'nin varlığını denetler. SID varsa ve SE_GROUP_ENABLED özniteliğine sahipse pbIsMember TRUE olarak ayarlanır; aksi takdirde FALSE olarak ayarlanır.

Hata ayıklama derlemelerinde pbIsMember geçerli bir işaretçi değilse onay hatası oluşur.

Not

Nesnenin CAccessToken birincil belirteç değil kimliğe bürünme belirteci olması gerekir.

CAccessToken::CreateImpersonationToken

Kimliğe bürünme erişim belirteci oluşturmak için bu yöntemi çağırın.

bool CreateImpersonationToken(
    CAccessToken* pImp,
    SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation) const throw(...);

Parametreler

pImp
Yeni CAccessToken nesnenin işaretçisi.

sil
Yeni belirtecin kimliğe bürünme düzeyini sağlayan SECURITY_IMPERSONATION_LEVEL numaralandırılmış türünü belirtir.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CreateImpersonationTokenyeni bir kimliğe bürünme belirteci oluşturmak için DuplicateToken'ı çağırır.

CAccessToken::CreatePrimaryToken

Yeni bir birincil belirteç oluşturmak için bu yöntemi çağırın.

bool CreatePrimaryToken(
    CAccessToken* pPri,
    DWORD dwDesiredAccess = MAXIMUM_ALLOWED,
    const CSecurityAttributes* pTokenAttributes = NULL) const throw(...);

Parametreler

pPri
Yeni CAccessToken nesnenin işaretçisi.

dwDesiredAccess
Yeni belirteç için istenen erişim haklarını belirtir. Varsayılan MAXIMUM_ALLOWED, arayan için geçerli olan tüm erişim haklarını istemektedir. Erişim hakları hakkında daha fazla bilgi için bkz . Erişim Hakları ve Erişim Maskeleri .

pTokenAttributes
Yeni belirteç için bir güvenlik tanımlayıcısı belirten ve alt işlemlerin belirteci devralıp devralamayacağını belirleyen bir SECURITY_ATTRIBUTES yapısının işaretçisi. pTokenAttributes NULL ise, belirteç varsayılan bir güvenlik tanımlayıcısı alır ve tanıtıcı devralınamaz.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CreatePrimaryTokenyeni bir birincil belirteç oluşturmak için DuplicateTokenEx'i çağırır.

CAccessToken::CreateProcessAsUser

Nesnesi tarafından temsil edilen kullanıcının güvenlik bağlamında çalışan yeni bir işlem oluşturmak için bu yöntemi çağırın CAccessToken .

bool CreateProcessAsUser(
    LPCTSTR pApplicationName,
    LPTSTR pCommandLine,
    LPPROCESS_INFORMATION pProcessInformation,
    LPSTARTUPINFO pStartupInfo,
    DWORD dwCreationFlags = NORMAL_PRIORITY_CLASS,
    bool bLoadProfile = false,
    const CSecurityAttributes* pProcessAttributes = NULL,
    const CSecurityAttributes* pThreadAttributes = NULL,
    bool bInherit = false,
    LPCTSTR pCurrentDirectory = NULL) throw();

Parametreler

pApplicationName
Yürütülecek modülü belirten null ile sonlandırılan bir dizenin işaretçisi. Bu parametre NULL olmayabilir.

pCommandLine
Yürütülecek komut satırını belirten null ile sonlandırılan bir dizenin işaretçisi.

pProcessInformation
Yeni işlemle ilgili tanımlama bilgilerini alan bir PROCESS_INFORMATION yapısının işaretçisi.

pStartupInfo
Yeni işlem için ana pencerenin nasıl görüneceğini belirten STARTUPINFO yapısının işaretçisi.

dwCreationFlags
Öncelik sınıfını ve işlemin oluşturulmasını denetleye ek bayraklar belirtir. Bayrak listesi için bkz. Win32 işlevi CreateProcessAsUser .

bLoadProfile
TRUE ise, kullanıcının profili LoadUserProfile ile yüklenir.

pProcessAttributes
Yeni işlem için bir güvenlik tanımlayıcısı belirten ve alt işlemlerin döndürülen tanıtıcıyı devralıp devralamayacağını belirleyen bir SECURITY_ATTRIBUTES yapısının işaretçisi. pProcessAttributes NULL ise, işlem varsayılan bir güvenlik tanımlayıcısı alır ve tanıtıcı devralınamaz.

pThreadAttributes
Yeni iş parçacığı için bir güvenlik tanımlayıcısı belirten ve alt işlemlerin döndürülen tanıtıcıyı devralıp devralamayacağını belirleyen bir SECURITY_ATTRIBUTES yapısının işaretçisi. pThreadAttributes NULL ise, iş parçacığı varsayılan bir güvenlik tanımlayıcısı alır ve tanıtıcı devralınamaz.

bInherit
Yeni işlemin tanıtıcıları çağırma işleminden devralıp devralmadığını gösterir. TRUE ise, çağrı işlemindeki devralınabilir her açık tanıtıcı yeni işlem tarafından devralınır. Devralınan tanıtıcılar, özgün tanıtıcılarla aynı değere ve erişim ayrıcalıklarına sahiptir.

pCurrentDirectory
Yeni işlem için geçerli sürücüyü ve dizini belirten null olarak sonlandırılan bir dizenin işaretçisi. Dize, sürücü harfi içeren tam bir yol olmalıdır. Bu parametre NULL ise, yeni işlem çağrı işlemiyle aynı geçerli sürücüye ve dizine sahip olur.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CreateProcessAsUser, nesnesi tarafından CreateProcessAsUser temsil edilen CAccessToken kullanıcının güvenlik bağlamında çalışan yeni bir işlem oluşturmak için Win32 işlevini kullanır. Gerekli parametrelerin tam açıklaması için CreateProcessAsUser işlevinin açıklamasına bakın.

Bu yöntemin başarılı olması için nesnenin CAccessToken AssignPrimaryToken (kısıtlanmış bir belirteç olmadığı sürece) ve IncreaseQuota ayrıcalıklarını tutması gerekir.

CAccessToken::CreateRestrictedToken

Yeni, kısıtlanmış CAccessToken bir nesne oluşturmak için bu yöntemi çağır.

bool CreateRestrictedToken(
    CAccessToken* pRestrictedToken,
    const CTokenGroups& SidsToDisable,
    const CTokenGroups& SidsToRestrict,
    const CTokenPrivileges& PrivilegesToDelete = CTokenPrivileges()) const throw(...);

Parametreler

pRestrictedToken
Yeni, kısıtlanmış CAccessToken nesne.

SidsToDisable
CTokenGroups Yalnızca reddetme SID'lerini belirten bir nesne.

SidsToRestrict
CTokenGroups Kısıtlayıcı SID'leri belirten bir nesne.

PrivilegesToDelete
CTokenPrivileges Kısıtlanmış belirteçte silinecek ayrıcalıkları belirten bir nesne. Varsayılan değer boş bir nesne oluşturur.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CreateRestrictedToken, kısıtlamalarla CAccessToken Win32 işlevini kullanır.

Önemli

kullanırken CreateRestrictedTokenşunlardan emin olun: var olan belirtecin geçerli olduğundan (ve kullanıcı tarafından girilmediğinden) ve SidsToDisable ve PrivilegesToDelete'ın hem geçerli olduğundan (hem de kullanıcı tarafından girilmediğinden) emin olun. Yöntem YANLIŞ döndürürse, işlevselliği reddedin.

CAccessToken::D etach

Erişim belirtecinin sahipliğini iptal etmek için bu yöntemi çağırın.

HANDLE Detach() throw();

Dönüş Değeri

Ayrılmış olan tutamacını CAccessToken döndürür.

Açıklamalar

Bu yöntem erişim belirtecinin CAccessTokensahipliğini iptal eder.

CAccessToken::D isablePrivilege

Nesnedeki bir ayrıcalığı devre dışı bırakmak için bu yöntemi çağırın CAccessToken .

bool DisablePrivilege(
    LPCTSTR pszPrivilege,
    CTokenPrivileges* pPreviousState = NULL) throw(...);

Parametreler

pszPrivilege
Nesnede devre dışı bırakma ayrıcalığını içeren bir dize işaretçisi CAccessToken .

pPreviousState
Ayrıcalıkların önceki durumunu içerecek bir CTokenPrivileges nesnenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::D isablePrivileges

Nesnedeki bir veya daha fazla ayrıcalığı devre dışı bırakmak için bu yöntemi çağırın CAccessToken .

bool DisablePrivileges(
    const CAtlArray<LPCTSTR>& rPrivileges,
    CTokenPrivileges* pPreviousState = NULL) throw(...);

Parametreler

rPrivileges
Nesnede devre dışı bırakılması gereken ayrıcalıkları içeren bir dize dizisinin işaretçisi CAccessToken .

pPreviousState
Ayrıcalıkların önceki durumunu içerecek bir CTokenPrivileges nesnenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::EnablePrivilege

Nesnede bir ayrıcalık etkinleştirmek için bu yöntemi çağırın CAccessToken .

bool EnablePrivilege(
    LPCTSTR pszPrivilege,
    CTokenPrivileges* pPreviousState = NULL) throw(...);

Parametreler

pszPrivilege
nesnesinde etkinleştirme ayrıcalığını içeren bir dize işaretçisi CAccessToken .

pPreviousState
Ayrıcalıkların önceki durumunu içerecek bir CTokenPrivileges nesnenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::EnablePrivileges

Nesnede bir veya daha fazla ayrıcalığı etkinleştirmek için bu yöntemi çağırın CAccessToken .

bool EnablePrivileges(
    const CAtlArray<LPCTSTR>& rPrivileges,
    CTokenPrivileges* pPreviousState = NULL) throw(...);

Parametreler

rPrivileges
Nesnede etkinleştirileceği ayrıcalıkları içeren bir dize dizisinin işaretçisi CAccessToken .

pPreviousState
Ayrıcalıkların önceki durumunu içerecek bir CTokenPrivileges nesnenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetDefaultDacl

Nesnenin varsayılan DACL'sini CAccessToken döndürmek için bu yöntemi çağırın.

bool GetDefaultDacl(CDacl* pDacl) const throw(...);

Parametreler

pDacl
Nesnenin varsayılan DACL'sini alacak CDacl Sınıfı nesnesinin CAccessToken işaretçisi.

Dönüş Değeri

Varsayılan DACL kurtarıldıysa TRUE, aksi takdirde YANLIŞ döndürür.

CAccessToken::GetEffectiveToken

Geçerli iş parçacığı için CAccessToken geçerli erişim belirtecine eşit nesneyi almak için bu yöntemi çağırın.

bool GetEffectiveToken(DWORD dwDesiredAccess) throw();

Parametreler

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetGroups

Nesnenin belirteç gruplarını döndürmek CAccessToken için bu yöntemi çağırın.

bool GetGroups(CTokenGroups* pGroups) const throw(...);

Parametreler

pGroups
Grup bilgilerini alacak CTokenGroups Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetHandle

Erişim belirtecine bir tanıtıcı almak için bu yöntemi çağırın.

HANDLE GetHandle() const throw();

Dönüş Değeri

Nesnenin erişim belirtecine CAccessToken bir tanıtıcı döndürür.

CAccessToken::GetImpersonationLevel

Erişim belirtecinden kimliğe bürünme düzeyini almak için bu yöntemi çağırın.

bool GetImpersonationLevel(
    SECURITY_IMPERSONATION_LEVEL* pImpersonationLevel) const throw(...);

Parametreler

pImpersonationLevel
Kimliğe bürünme düzeyi bilgilerini alacak bir SECURITY_IMPERSONATION_LEVEL numaralandırma türü işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetLogonSessionId

Nesneyle ilişkilendirilmiş Oturum Açma Oturum Kimliğini almak için bu yöntemi çağırın CAccessToken .

bool GetLogonSessionId(LUID* pluid) const throw(...);

Parametreler

pluid
Oturum Açma Oturum Kimliği'ni alacak bir LUID işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, pluid geçersiz bir değerse onay hatası oluşur.

CAccessToken::GetLogonSid

Nesneyle ilişkilendirilmiş Oturum Açma SID'sini almak için bu yöntemi çağırın CAccessToken .

bool GetLogonSid(CSid* pSid) const throw(...);

Parametreler

pSid
CSid Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Hata ayıklama derlemelerinde pSid geçersiz bir değerse onay hatası oluşur.

CAccessToken::GetOwner

Nesneyle ilişkili sahibi almak için bu yöntemi çağırın CAccessToken .

bool GetOwner(CSid* pSid) const throw(...);

Parametreler

pSid
CSid Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Sahip, bu erişim belirteci etkinken oluşturulan tüm nesnelerde varsayılan olarak ayarlanır.

CAccessToken::GetPrimaryGroup

Nesnesiyle ilişkilendirilmiş birincil grubu almak için bu yöntemi çağırın CAccessToken .

bool GetPrimaryGroup(CSid* pSid) const throw(...);

Parametreler

pSid
CSid Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Bu erişim belirteci etkinken oluşturulan tüm nesnelerde grup varsayılan olarak ayarlanır.

CAccessToken::GetPrivileges

Nesnesiyle ilişkili ayrıcalıkları almak için bu yöntemi çağırın CAccessToken .

bool GetPrivileges(CTokenPrivileges* pPrivileges) const throw(...);

Parametreler

pPrivileges
Ayrıcalıkları alacak CTokenPrivileges Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetProcessToken

verilen işlemden erişim belirteci ile başlatmak CAccessToken için bu yöntemi çağırın.

bool GetProcessToken(DWORD dwDesiredAccess, HANDLE hProcess = NULL) throw();

Parametreler

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

hProcess
Erişim belirteci açılmış olan işlemin işleyicisi. Varsayılan NULL değeri kullanılırsa geçerli işlem kullanılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

OpenProcessToken Win32 işlevini çağırır.

CAccessToken::GetProfile

Nesneyle ilişkilendirilmiş kullanıcı profiline işaret eden tanıtıcıyı almak için bu yöntemi çağırın CAccessToken .

HANDLE GetProfile() const throw();

Dönüş Değeri

Kullanıcı profiline işaret eden bir tanıtıcı veya profil yoksa NULL döndürür.

CAccessToken::GetSource

Nesnenin kaynağını almak için bu yöntemi çağırın CAccessToken .

bool GetSource(TOKEN_SOURCE* pSource) const throw(...);

Parametreler

pSource
bir TOKEN_SOURCE yapısının işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetStatistics

Nesnesiyle ilişkili bilgileri almak için bu yöntemi çağırın CAccessToken .

bool GetStatistics(TOKEN_STATISTICS* pStatistics) const throw(...);

Parametreler

pStatistics
TOKEN_STATISTICS yapısının işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetTerminalServicesSessionId

Nesnesiyle ilişkilendirilmiş Terminal Hizmetleri Oturum Kimliğini almak için bu yöntemi çağırın CAccessToken .

bool GetTerminalServicesSessionId(DWORD* pdwSessionId) const throw(...);

Parametreler

pdwSessionId
Terminal Hizmetleri Oturum Kimliği.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetThreadToken

belirtilen iş parçacığından belirteç ile başlatmak CAccessToken için bu yöntemi çağırın.

bool GetThreadToken(
    DWORD dwDesiredAccess,
    HANDLE hThread = NULL,
    bool bOpenAsSelf = true) throw();

Parametreler

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

hThread
Erişim belirteci açılan iş parçacığının tanıtıcısı.

bOpenAsSelf
Erişim denetiminin yöntemini çağıran iş parçacığının güvenlik bağlamında mı yoksa çağıran GetThreadToken iş parçacığı için işlemin güvenlik bağlamında mı gerçekleştirildiğini gösterir.

Bu parametre FALSE ise, erişim denetimi çağıran iş parçacığının güvenlik bağlamı kullanılarak gerçekleştirilir. İş parçacığı bir istemcinin kimliğine bürüniyorsa, bu güvenlik bağlamı bir istemci işleminin bağlamı olabilir. Bu parametre TRUE ise, arama iş parçacığı için işlemin güvenlik bağlamı kullanılarak erişim denetimi yapılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetTokenId

Nesnesiyle ilişkilendirilmiş Belirteç Kimliğini almak için bu yöntemi çağırın CAccessToken .

bool GetTokenId(LUID* pluid) const throw(...);

Parametreler

pluid
Belirteç Kimliğini alacak bir LUID işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::GetType

Nesnenin belirteç türünü almak için bu yöntemi çağırın CAccessToken .

bool GetType(TOKEN_TYPE* pType) const throw(...);

Parametreler

pType
Başarılı olduğunda belirtecin türünü alan TOKEN_TYPE değişkeninin adresi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

TOKEN_TYPE numaralandırma türü, birincil belirteçle kimliğe bürünme belirtecini birbirinden ayıran değerler içerir.

CAccessToken::GetUser

Nesnesiyle ilişkili kullanıcıyı tanımlamak için bu yöntemi çağırın CAccessToken .

bool GetUser(CSid* pSid) const throw(...);

Parametreler

pSid
CSid Sınıfı nesnesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

CAccessToken::HKeyCurrentUser

Nesneyle ilişkilendirilmiş kullanıcı profiline işaret eden tanıtıcıyı almak için bu yöntemi çağırın CAccessToken .

HKEY HKeyCurrentUser() const throw();

Dönüş Değeri

Kullanıcı profiline işaret eden bir tanıtıcı veya profil yoksa NULL döndürür.

CAccessToken::Impersonate

Bir iş parçacığına kimliğe bürünme CAccessToken atamak için bu yöntemi çağır.

bool Impersonate(HANDLE hThread = NULL) const throw(...);

Parametreler

hThread
Kimliğe bürünme belirtecinin atanması için iş parçacığının tanıtıcısı. Bu tanıtıcı TOKEN_IMPERSONATE erişim haklarıyla açılmış olmalıdır. hThread NULL ise yöntemi, iş parçacığının kimliğe bürünme belirteci kullanmayı durdurmasına neden olur.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, belirtecin geçerli bir işaretçisi yoksa CAccessToken onay hatası oluşur.

CAutoRevertImpersonation sınıfı, kimliğine bürünülen erişim belirteçlerini otomatik olarak geri döndürmek için kullanılabilir.

CAccessToken::ImpersonateLoggedOnUser

Çağıran iş parçacığının oturum açmış bir kullanıcının güvenlik bağlamının kimliğine bürünebilmesini sağlamak için bu yöntemi çağırın.

bool ImpersonateLoggedOnUser() const throw(...);

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Önemli

Bir kimliğe bürünme işlevine yapılan çağrı herhangi bir nedenle başarısız olursa, istemci kimliğine bürünülemez ve istemci isteği, çağrının yapıldığı işlemin güvenlik bağlamında yapılır. İşlem yüksek ayrıcalıklı bir hesap olarak veya bir yönetim grubunun üyesi olarak çalışıyorsa, kullanıcı başka bir şekilde izin verilmeyen eylemler gerçekleştirebilir. Bu nedenle, bu işlevin dönüş değeri her zaman doğrulanmalıdır.

CAccessToken::IsTokenRestricted

Nesnenin CAccessToken kısıtlanmış SID'lerin listesini içerip içermediğini test etmek için bu yöntemi çağırın.

bool IsTokenRestricted() const throw();

Dönüş Değeri

Nesne kısıtlayan SID'lerin listesini içeriyorsa TRUE, kısıtlayıcı SID'ler yoksa veya yöntem başarısız olursa YANLIŞ döndürür.

CAccessToken::LoadUserProfile

Nesnesiyle ilişkilendirilmiş kullanıcı profilini yüklemek için bu yöntemi çağırın CAccessToken .

bool LoadUserProfile() throw(...);

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, geçerli bir belirteç içermiyorsa CAccessToken veya bir kullanıcı profili zaten varsa onay hatası oluşur.

CAccessToken::LogonUser

Verilen kimlik bilgileriyle ilişkilendirilmiş kullanıcı için oturum açma oturumu oluşturmak için bu yöntemi çağırın.

bool LogonUser(
    LPCTSTR pszUserName,
    LPCTSTR pszDomain,
    LPCTSTR pszPassword,
    DWORD dwLogonType = LOGON32_LOGON_INTERACTIVE,
    DWORD dwLogonProvider = LOGON32_PROVIDER_DEFAULT) throw();

Parametreler

pszUserName
Kullanıcı adını belirten null ile sonlandırılan bir dizenin işaretçisi. Bu, oturum açmak için kullanıcı hesabının adıdır.

pszDomain
Hesap veritabanı pszUserName hesabını içeren etki alanının veya sunucunun adını belirten null olarak sonlandırılan bir dizenin işaretçisi.

pszPassword
pszUserName tarafından belirtilen kullanıcı hesabının düz metin parolasını belirten null olarak sonlandırılan bir dizenin işaretçisi.

dwLogonType
Gerçekleştirilecek oturum açma işleminin türünü belirtir. Diğer ayrıntılar için bkz . LogonUser .

dwLogonProvider
Oturum açma sağlayıcısını belirtir. Diğer ayrıntılar için bkz . LogonUser .

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Oturum açmadan kaynaklanan erişim belirteci ile CAccessTokenilişkilendirilir. Bu yöntemin başarılı olması için nesnenin CAccessToken SE_TCB_NAME ayrıcalıkları barındırması ve tutucuyu güvenilen bilgisayar tabanının bir parçası olarak tanımlaması gerekir. Gerekli ayrıcalıklarla ilgili daha fazla bilgi için bkz . LogonUser .

CAccessToken::OpenCOMClientToken

bu yöntemi, COM istemcisinden erişim belirteci ile başlatmak CAccessToken için bir istemciden gelen çağrıyı işleyen bir COM sunucusundan çağırın.

bool OpenCOMClientToken(
    DWORD dwDesiredAccess,
    bool bImpersonate = false,
    bool bOpenAsSelf = true) throw(...);

Parametreler

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

bImpersonate
TRUE ise, bu çağrı başarıyla tamamlanırsa geçerli iş parçacığı çağıran COM istemcisinin kimliğine bürünecektir. YANLIŞ ise erişim belirteci açılır, ancak bu çağrı tamamlandığında iş parçacığında kimliğe bürünme belirteci olmaz.

bOpenAsSelf
Erişim denetiminin GetThreadToken yöntemini çağıran iş parçacığının güvenlik bağlamı veya çağıran iş parçacığı için işlemin güvenlik bağlamı için yapılıp yapılmayacağını gösterir.

Bu parametre FALSE ise, erişim denetimi çağıran iş parçacığının güvenlik bağlamı kullanılarak gerçekleştirilir. İş parçacığı bir istemcinin kimliğine bürüniyorsa, bu güvenlik bağlamı bir istemci işleminin bağlamı olabilir. Bu parametre TRUE ise, arama iş parçacığı için işlemin güvenlik bağlamı kullanılarak erişim denetimi yapılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CAutoRevertImpersonation Sınıfı, bImpersonate bayrağı TRUE olarak ayarlanarak oluşturulan kimliğine bürünülen erişim belirteçlerini otomatik olarak geri döndürmek için kullanılabilir.

CAccessToken::OpenNamedPipeClientToken

İstemciden erişim belirteci ile başlatmak CAccessToken için adlandırılmış bir kanal üzerinden istekleri alan bir sunucudan bu yöntemi çağırın.

bool OpenNamedPipeClientToken(
    HANDLE hPipe,
    DWORD dwDesiredAccess,
    bool bImpersonate = false,
    bool bOpenAsSelf = true) throw(...);

Parametreler

hPipe
Adlandırılmış kanala tanıtıcı.

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

bImpersonate
TRUE ise, bu çağrı başarıyla tamamlanırsa geçerli iş parçacığı çağrı kanalı istemcisinin kimliğine bürünecektir. YANLIŞ ise erişim belirteci açılır, ancak bu çağrı tamamlandığında iş parçacığında kimliğe bürünme belirteci olmaz.

bOpenAsSelf
Erişim denetiminin GetThreadToken yöntemini çağıran iş parçacığının güvenlik bağlamı veya çağıran iş parçacığı için işlemin güvenlik bağlamı için yapılıp yapılmayacağını gösterir.

Bu parametre FALSE ise, erişim denetimi çağıran iş parçacığının güvenlik bağlamı kullanılarak gerçekleştirilir. İş parçacığı bir istemcinin kimliğine bürüniyorsa, bu güvenlik bağlamı bir istemci işleminin bağlamı olabilir. Bu parametre TRUE ise, arama iş parçacığı için işlemin güvenlik bağlamı kullanılarak erişim denetimi yapılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CAutoRevertImpersonation Sınıfı, bImpersonate bayrağı TRUE olarak ayarlanarak oluşturulan kimliğine bürünülen erişim belirteçlerini otomatik olarak geri döndürmek için kullanılabilir.

CAccessToken::OpenRPCClientToken

İstemciden erişim belirteci ile başlatmak için bir RPC istemcisinden gelen çağrıyı CAccessToken işleyen bir sunucunun içinden bu yöntemi çağırın.

bool OpenRPCClientToken(
    RPC_BINDING_HANDLE BindingHandle,
    DWORD dwDesiredAccess,
    bool bImpersonate = false,
    bool bOpenAsSelf = true) throw(...);

Parametreler

BindingHandle
Sunucuda bir istemciye bağlamayı temsil eden bağlama tanıtıcısı.

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

bImpersonate
TRUE ise, bu çağrı başarıyla tamamlanırsa geçerli iş parçacığı çağıran RPC istemcisinin kimliğine bürünecektir. YANLIŞ ise erişim belirteci açılır, ancak bu çağrı tamamlandığında iş parçacığında kimliğe bürünme belirteci olmaz.

bOpenAsSelf
Erişim denetiminin GetThreadToken yöntemini çağıran iş parçacığının güvenlik bağlamı veya çağıran iş parçacığı için işlemin güvenlik bağlamı için yapılıp yapılmayacağını gösterir.

Bu parametre FALSE ise, erişim denetimi çağıran iş parçacığının güvenlik bağlamı kullanılarak gerçekleştirilir. İş parçacığı bir istemcinin kimliğine bürüniyorsa, bu güvenlik bağlamı bir istemci işleminin bağlamı olabilir. Bu parametre TRUE ise, arama iş parçacığı için işlemin güvenlik bağlamı kullanılarak erişim denetimi yapılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

CAutoRevertImpersonation Sınıfı, bImpersonate bayrağı TRUE olarak ayarlanarak oluşturulan kimliğine bürünülen erişim belirteçlerini otomatik olarak geri döndürmek için kullanılabilir.

CAccessToken::OpenThreadToken

Kimliğe bürünme düzeyini ayarlamak için bu yöntemi çağırın ve ardından belirtilen iş parçacığından belirteci ile başlatın CAccessToken .

bool OpenThreadToken(
    DWORD dwDesiredAccess,
    bool bImpersonate = false,
    bool bOpenAsSelf = true,
    SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation) throw(...);

Parametreler

dwDesiredAccess
Erişim belirtecine istenen erişim türlerini belirten bir erişim maskesi belirtir. Bu istenen erişim türleri, hangi erişimlerin verildiğini veya reddedileceğini belirlemek için belirtecin DACL'siyle karşılaştırılır.

bImpersonate
TRUE ise, bu yöntem tamamlandıktan sonra iş parçacığı istenen kimliğe bürünme düzeyinde bırakılır. FALSE ise, iş parçacığı özgün kimliğe bürünme düzeyine geri döner.

bOpenAsSelf
Erişim denetiminin GetThreadToken yöntemini çağıran iş parçacığının güvenlik bağlamı veya çağıran iş parçacığı için işlemin güvenlik bağlamı için yapılıp yapılmayacağını gösterir.

Bu parametre FALSE ise, erişim denetimi çağıran iş parçacığının güvenlik bağlamı kullanılarak gerçekleştirilir. İş parçacığı bir istemcinin kimliğine bürüniyorsa, bu güvenlik bağlamı bir istemci işleminin bağlamı olabilir. Bu parametre TRUE ise, arama iş parçacığı için işlemin güvenlik bağlamı kullanılarak erişim denetimi yapılır.

sil
Belirtecin kimliğe bürünme düzeyini sağlayan SECURITY_IMPERSONATION_LEVEL numaralandırılmış türünü belirtir.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

OpenThreadTokenCAccessToken::GetThreadToken'a benzer, ancak iş parçacığının erişim belirtecinden başlatmadan CAccessToken önce kimliğe bürünme düzeyini ayarlar.

CAutoRevertImpersonation Sınıfı, bImpersonate bayrağı TRUE olarak ayarlanarak oluşturulan kimliğine bürünülen erişim belirteçlerini otomatik olarak geri döndürmek için kullanılabilir.

CAccessToken::P rivilegeCheck

Nesnede belirtilen bir ayrıcalık kümesinin etkinleştirilip etkinleştirilmediğini belirlemek için bu yöntemi çağırın CAccessToken .

bool PrivilegeCheck(
    PPRIVILEGE_SET RequiredPrivileges,
    bool* pbResult) const throw();

Parametreler

RequiredPrivileges
PRIVILEGE_SET yapısının işaretçisi.

pbResult
Yöntemin, belirtilen ayrıcalıklardan herhangi birinin veya tümünün nesnede etkinleştirilip etkinleştirilmediğini belirtmek için ayardığı bir değerin işaretçisi CAccessToken .

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Döndürdüğünde PrivilegeCheckAttributes , ilgili ayrıcalık etkinleştirilmişse her LUID_AND_ATTRIBUTES yapısının üyesi SE_PRIVILEGE_USED_FOR_ACCESS olarak ayarlanır. Bu yöntem PrivilegeCheck Win32 işlevini çağırır.

CAccessToken::Revert

Bir iş parçacığının kimliğe bürünme belirteci kullanmasını durdurmak için bu yöntemi çağırın.

bool Revert(HANDLE hThread = NULL) const throw();

Parametreler

hThread
Kimliğe bürünme işlemini geri almak için iş parçacığını işle. hThread NULL ise, geçerli iş parçacığı varsayılır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Kimliğe bürünme belirteçlerinin geri çevrilmesi CAutoRevertImpersonation Sınıfı ile otomatik olarak gerçekleştirilebilir.

CAccessToken::SetDefaultDacl

Nesnenin varsayılan DACL'sini ayarlamak için bu yöntemi çağırın CAccessToken .

bool SetDefaultDacl(const CDacl& rDacl) throw(...);

Parametreler

rDacl
Yeni varsayılan CDacl Sınıfı bilgileri.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Varsayılan DACL, bu erişim belirtecinin etkin olduğu yeni nesneler oluşturulduğunda varsayılan olarak kullanılan DACL'dir.

CAccessToken::SetOwner

Nesnenin sahibini ayarlamak için bu yöntemi çağırın CAccessToken .

bool SetOwner(const CSid& rSid) throw(...);

Parametreler

rSid
Sahip bilgilerini içeren CSid Sınıfı nesnesi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Sahip, bu erişim belirteci etkinken oluşturulan yeni nesneler için kullanılan varsayılan sahiptir.

CAccessToken::SetPrimaryGroup

Nesnenin birincil grubunu ayarlamak için bu yöntemi çağırın CAccessToken .

bool SetPrimaryGroup(const CSid& rSid) throw(...);

Parametreler

rSid
Birincil grup bilgilerini içeren CSid Sınıfı nesnesi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Birincil grup, bu erişim belirteci etkinken oluşturulan yeni nesneler için varsayılan gruptur.

Ayrıca bkz.

ATLGüvenlik Örneği
Erişim Belirteçleri
Sınıfa Genel Bakış