Share via


CAccessToken-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse is een wrapper voor een toegangstoken.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CAccessToken

Leden

Openbare constructors

Naam Description
CAccessToken::~CAccessToken De destructor.

Openbare methoden

Naam Description
CAccessToken::Attach Roep deze methode aan om eigenaar te worden van de opgegeven toegangstokenhandgreep.
CAccessToken::CheckTokenMembership Roep deze methode aan om te bepalen of een opgegeven SID is ingeschakeld in het CAccessToken object.
CAccessToken::CreateImpersonationToken Roep deze methode aan om een nieuw imitatietoegangstoken te maken.
CAccessToken::CreatePrimaryToken Roep deze methode aan om een nieuw primair token te maken.
CAccessToken::CreateProcessAsUser Roep deze methode aan om een nieuw proces te maken dat wordt uitgevoerd in de beveiligingscontext van de gebruiker die wordt vertegenwoordigd door het CAccessToken object.
CAccessToken::CreateRestrictedToken Roep deze methode aan om een nieuw, beperkt CAccessToken object te maken.
CAccessToken::D etach Roep deze methode aan om het eigendom van het toegangstoken in te trekken.
CAccessToken::D isablePrivilege Roep deze methode aan om een bevoegdheid in het CAccessToken object uit te schakelen.
CAccessToken::D isablePrivileges Roep deze methode aan om een of meer bevoegdheden in het CAccessToken object uit te schakelen.
CAccessToken::EnablePrivilege Roep deze methode aan om een bevoegdheid in het CAccessToken object in te schakelen.
CAccessToken::EnablePrivileges Roep deze methode aan om een of meer bevoegdheden in het CAccessToken object in te schakelen.
CAccessToken::GetDefaultDacl Roep deze methode aan om de standaard-DACL van het CAccessToken object te retourneren.
CAccessToken::GetEffectiveToken Roep deze methode aan om het CAccessToken object gelijk te krijgen aan het toegangstoken dat van kracht is voor de huidige thread.
CAccessToken::GetGroups Roep deze methode aan om de tokengroepen van het CAccessToken object te retourneren.
CAccessToken::GetHandle Roep deze methode aan om een ingang op te halen voor het toegangstoken.
CAccessToken::GetImpersonationLevel Roep deze methode aan om het imitatieniveau op te halen uit het toegangstoken.
CAccessToken::GetLogonSessionId Roep deze methode aan om de aanmeldingssessie-id op te halen die is gekoppeld aan het CAccessToken object.
CAccessToken::GetLogonSid Roep deze methode aan om de aanmeldings-SID op te halen die aan het CAccessToken object is gekoppeld.
CAccessToken::GetOwner Roep deze methode aan om de eigenaar op te halen die is gekoppeld aan het CAccessToken object.
CAccessToken::GetPrimaryGroup Roep deze methode aan om de primaire groep op te halen die aan het CAccessToken object is gekoppeld.
CAccessToken::GetPrivileges Roep deze methode aan om de bevoegdheden op te halen die aan het CAccessToken object zijn gekoppeld.
CAccessToken::GetProcessToken Roep deze methode aan om het CAccessToken met het toegangstoken te initialiseren vanuit het opgegeven proces.
CAccessToken::GetProfile Roep deze methode aan om de ingang op te halen die verwijst naar het gebruikersprofiel dat aan het CAccessToken object is gekoppeld.
CAccessToken::GetSource Roep deze methode aan om de bron van het CAccessToken object op te halen.
CAccessToken::GetStatistics Roep deze methode aan om informatie op te halen die is gekoppeld aan het CAccessToken object.
CAccessToken::GetTerminalServicesSessionId Roep deze methode aan om de Terminal Services-sessie-id op te halen die aan het CAccessToken object is gekoppeld.
CAccessToken::GetThreadToken Roep deze methode aan om het CAccessToken met het token van de opgegeven thread te initialiseren.
CAccessToken::GetTokenId Roep deze methode aan om de token-id op te halen die is gekoppeld aan het CAccessToken object.
CAccessToken::GetType Roep deze methode aan om het tokentype van het CAccessToken object op te halen.
CAccessToken::GetUser Roep deze methode aan om de gebruiker te identificeren die is gekoppeld aan het CAccessToken object.
CAccessToken::HKeyCurrentUser Roep deze methode aan om de ingang op te halen die verwijst naar het gebruikersprofiel dat aan het CAccessToken object is gekoppeld.
CAccessToken::imitatie Roep deze methode aan om een imitatie CAccessToken toe te wijzen aan een thread.
CAccessToken::ImpersonateLoggedOnUser Roep deze methode aan om de aanroepende thread de beveiligingscontext van een aangemelde gebruiker te laten imiteren.
CAccessToken::IsTokenRestricted Roep deze methode aan om te testen of het CAccessToken object een lijst met beperkte SID's bevat.
CAccessToken::LoadUserProfile Roep deze methode aan om het gebruikersprofiel te laden dat is gekoppeld aan het CAccessToken object.
CAccessToken::LogonUser Roep deze methode aan om een aanmeldingssessie te maken voor de gebruiker die is gekoppeld aan de opgegeven referenties.
CAccessToken::OpenCOMClientToken Roep deze methode aan vanuit een COM-server die een aanroep van een client afhandelt om het CAccessToken met het toegangstoken van de COM-client te initialiseren.
CAccessToken::OpenNamedPipeClientToken Roep deze methode aan vanuit een server die aanvragen via een benoemde pijp neemt om het CAccessToken met het toegangstoken van de client te initialiseren.
CAccessToken::OpenRPCClientToken Roep deze methode aan vanuit een server die een aanroep van een RPC-client verwerkt om het CAccessToken met het toegangstoken van de client te initialiseren.
CAccessToken::OpenThreadToken Roep deze methode aan om het imitatieniveau in te stellen en initialiseer vervolgens het CAccessToken met het token van de opgegeven thread.
CAccessToken::P rivilegeCheck Roep deze methode aan om te bepalen of een opgegeven set bevoegdheden is ingeschakeld in het CAccessToken object.
CAccessToken::Revert Roep deze methode aan om een thread te stoppen die een imitatietoken gebruikt.
CAccessToken::SetDefaultDacl Roep deze methode aan om de standaard-DACL van het CAccessToken object in te stellen.
CAccessToken::SetOwner Roep deze methode aan om de eigenaar van het CAccessToken object in te stellen.
CAccessToken::SetPrimaryGroup Roep deze methode aan om de primaire groep van het CAccessToken object in te stellen.

Opmerkingen

Een toegangstoken is een object dat de beveiligingscontext van een proces of thread beschrijft en wordt toegewezen aan elke gebruiker die is aangemeld bij een Windows-systeem.

Zie Access Control in de Windows SDK voor een inleiding tot het toegangsbeheermodel in Windows.

Requirements

Koptekst: atlsecurity.h

CAccessToken::Attach

Roep deze methode aan om eigenaar te worden van de opgegeven toegangstokenhandgreep.

void Attach(HANDLE hToken) throw();

Parameterwaarden

hToken
Een ingang voor het toegangstoken.

Opmerkingen

In builds voor foutopsporing treedt er een assertiefout op als het CAccessToken object al eigenaar is van een toegangstoken.

CAccessToken::~CAccessToken

De destructor.

virtual ~CAccessToken() throw();

Opmerkingen

Alle toegewezen resources worden vrijgemaakt.

CAccessToken::CheckTokenMembership

Roep deze methode aan om te bepalen of een opgegeven SID is ingeschakeld in het CAccessToken object.

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

Parameterwaarden

rSid
Verwijzing naar een CSid-klasseobject .

pbIsMember
Wijs een variabele aan die de resultaten van de controle ontvangt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De CheckTokenMembership methode controleert op de aanwezigheid van de SID in de gebruikers- en groeps-SID's van het toegangstoken. Als de SID aanwezig is en het kenmerk SE_GROUP_ENABLED heeft, is pbIsMember ingesteld op TRUE; anders is deze ingesteld op FALSE.

In builds voor foutopsporing treedt een assertiefout op als pbIsMember geen geldige aanwijzer is.

Opmerking

Het CAccessToken object moet een imitatietoken zijn en geen primair token.

CAccessToken::CreateImpersonationToken

Roep deze methode aan om een imitatietoegangstoken te maken.

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

Parameterwaarden

Pimp
Aanwijzer naar het nieuwe CAccessToken object.

Sil
Hiermee geeft u een SECURITY_IMPERSONATION_LEVEL geïnventariseerd type dat het imitatieniveau van het nieuwe token levert.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

CreateImpersonationToken roept DuplicateToken aan om een nieuw imitatietoken te maken.

CAccessToken::CreatePrimaryToken

Roep deze methode aan om een nieuw primair token te maken.

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

Parameterwaarden

pPri
Aanwijzer naar het nieuwe CAccessToken object.

dwDesiredAccess
Hiermee geeft u de aangevraagde toegangsrechten voor het nieuwe token. De standaardinstelling, MAXIMUM_ALLOWED, vraagt alle toegangsrechten aan die geldig zijn voor de beller. Zie Toegangsrechten en toegangsmaskers voor meer informatie over toegangsrechten.

pTokenAttributes
Wijs een SECURITY_ATTRIBUTES structuur aan waarmee een beveiligingsdescriptor voor het nieuwe token wordt opgegeven en wordt bepaald of onderliggende processen het token kunnen overnemen. Als pTokenAttributes NULL is, krijgt het token een standaardbeveiligingsdescriptor en kan de ingang niet worden overgenomen.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

CreatePrimaryToken roept DuplicateTokenEx aan om een nieuw primair token te maken.

CAccessToken::CreateProcessAsUser

Roep deze methode aan om een nieuw proces te maken dat wordt uitgevoerd in de beveiligingscontext van de gebruiker die wordt vertegenwoordigd door het CAccessToken object.

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();

Parameterwaarden

pApplicationName
Aanwijzer naar een door null beëindigde tekenreeks waarmee de module wordt opgegeven die moet worden uitgevoerd. Deze parameter is mogelijk niet NULL.

pCommandLine
Aanwijzer naar een door null beëindigde tekenreeks die de opdrachtregel aangeeft die moet worden uitgevoerd.

pProcessInformation
Wijs een PROCESS_INFORMATION structuur aan die identificatiegegevens over het nieuwe proces ontvangt.

pStartupInfo
Aanwijzer naar een STARTUPINFO-structuur die aangeeft hoe het hoofdvenster voor het nieuwe proces moet worden weergegeven.

dwCreationFlags
Hiermee geeft u extra vlaggen op waarmee de prioriteitsklasse wordt bepaald en het proces wordt gemaakt. Zie de Win32-functie CreateProcessAsUser voor een lijst met vlaggen.

bLoadProfile
Als WAAR is, wordt het profiel van de gebruiker geladen met LoadUserProfile.

pProcessAttributes
Wijs een SECURITY_ATTRIBUTES structuur aan waarmee een beveiligingsdescriptor voor het nieuwe proces wordt opgegeven en wordt bepaald of onderliggende processen de geretourneerde ingang kunnen overnemen. Als pProcessAttributes NULL is, krijgt het proces een standaardbeveiligingsdescriptor en kan de ingang niet worden overgenomen.

pThreadAttributes
Wijs een SECURITY_ATTRIBUTES structuur aan waarmee een beveiligingsdescriptor voor de nieuwe thread wordt opgegeven en wordt bepaald of onderliggende processen de geretourneerde ingang kunnen overnemen. Als pThreadAttributes NULL is, krijgt de thread een standaardbeveiligingsdescriptor en kan de ingang niet worden overgenomen.

bInherit
Geeft aan of het nieuwe proces ingangen over neemt van het aanroepende proces. Als WAAR is, wordt elke overgenomen open ingang in het aanroepende proces overgenomen door het nieuwe proces. Overgenomen ingangen hebben dezelfde waarde en toegangsbevoegdheden als de oorspronkelijke ingangen.

pCurrentDirectory
Aanwijzer naar een door null beëindigde tekenreeks waarmee het huidige station en de map voor het nieuwe proces worden opgegeven. De tekenreeks moet een volledig pad zijn dat een stationsletter bevat. Als deze parameter NULL is, heeft het nieuwe proces hetzelfde huidige station en dezelfde map als het aanroepende proces.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

CreateProcessAsUser gebruikt de CreateProcessAsUser Functie Win32 om een nieuw proces te maken dat wordt uitgevoerd in de beveiligingscontext van de gebruiker die wordt vertegenwoordigd door het CAccessToken object. Zie de beschrijving van de functie CreateProcessAsUser voor een volledige bespreking van de vereiste parameters.

Om deze methode te voltooien, moet het CAccessToken object AssignPrimaryToken bevatten (tenzij het een beperkt token is) en IncreaseQuota-bevoegdheden.

CAccessToken::CreateRestrictedToken

Roep deze methode aan om een nieuw, beperkt CAccessToken object te maken.

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

Parameterwaarden

pRestrictedToken
Het nieuwe, beperkte CAccessToken object.

SidsToDisable
Een CTokenGroups object dat de alleen-weigeren-SID's aangeeft.

SidsToRestrict
Een CTokenGroups object dat de beperkings-SID's aangeeft.

PrivilegesToDelete
Een CTokenPrivileges object dat de bevoegdheden aangeeft die moeten worden verwijderd in het beperkte token. Met de standaardwaarde wordt een leeg object gemaakt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

CreateRestrictedToken gebruikt de functie CreateRestrictedToken Win32 om een nieuw CAccessToken object te maken, met beperkingen.

Belangrijk

Zorg er bij het gebruik CreateRestrictedTokenvan het volgende voor: het bestaande token is geldig (en niet ingevoerd door de gebruiker) en SidsToDisable en PrivilegesToDelete zijn zowel geldig (en niet ingevoerd door de gebruiker). Als de methode FALSE retourneert, wordt de functionaliteit voor weigeren geweigerd.

CAccessToken::D etach

Roep deze methode aan om het eigendom van het toegangstoken in te trekken.

HANDLE Detach() throw();

Retourwaarde

Retourneert de ingang die CAccessToken is losgekoppeld.

Opmerkingen

Met deze methode wordt het CAccessTokeneigendom van het toegangstoken ingetrokken.

CAccessToken::D isablePrivilege

Roep deze methode aan om een bevoegdheid in het CAccessToken object uit te schakelen.

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

Parameterwaarden

pszPrivilege
Wijs een tekenreeks aan die de bevoegdheid bevat om uit te schakelen in het CAccessToken object.

pPreviousState
Wijs een CTokenPrivileges object aan dat de vorige status van de bevoegdheden bevat.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::D isablePrivileges

Roep deze methode aan om een of meer bevoegdheden in het CAccessToken object uit te schakelen.

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

Parameterwaarden

rPrivileges
Aanwijzer naar een matrix met tekenreeksen met de bevoegdheden die u in het CAccessToken object wilt uitschakelen.

pPreviousState
Wijs een CTokenPrivileges object aan dat de vorige status van de bevoegdheden bevat.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::EnablePrivilege

Roep deze methode aan om een bevoegdheid in het CAccessToken object in te schakelen.

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

Parameterwaarden

pszPrivilege
Wijs een tekenreeks aan die de bevoegdheid bevat om het CAccessToken object in te schakelen.

pPreviousState
Wijs een CTokenPrivileges object aan dat de vorige status van de bevoegdheden bevat.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::EnablePrivileges

Roep deze methode aan om een of meer bevoegdheden in het CAccessToken object in te schakelen.

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

Parameterwaarden

rPrivileges
Wijs een matrix aan met tekenreeksen met de bevoegdheden die u in het CAccessToken object wilt inschakelen.

pPreviousState
Wijs een CTokenPrivileges object aan dat de vorige status van de bevoegdheden bevat.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetDefaultDacl

Roep deze methode aan om de standaard-DACL van het CAccessToken object te retourneren.

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

Parameterwaarden

pDacl
Wijs het CDacl-klasseobject aan dat de standaard-DACL van het CAccessToken object ontvangt.

Retourwaarde

Retourneert TRUE als de standaard-DACL is hersteld, anders ONWAAR.

CAccessToken::GetEffectiveToken

Roep deze methode aan om het CAccessToken object gelijk te krijgen aan het toegangstoken dat van kracht is voor de huidige thread.

bool GetEffectiveToken(DWORD dwDesiredAccess) throw();

Parameterwaarden

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetGroups

Roep deze methode aan om de tokengroepen van het CAccessToken object te retourneren.

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

Parameterwaarden

pGroups
Wijs het CTokenGroups-klasseobject aan waarmee de groepsinformatie wordt ontvangen.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetHandle

Roep deze methode aan om een ingang op te halen voor het toegangstoken.

HANDLE GetHandle() const throw();

Retourwaarde

Retourneert een ingang naar het toegangstoken van het CAccessToken object.

CAccessToken::GetImpersonationLevel

Roep deze methode aan om het imitatieniveau op te halen uit het toegangstoken.

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

Parameterwaarden

pImpersonationLevel
Wijs een SECURITY_IMPERSONATION_LEVEL opsommingstype aan dat de informatie op imitatieniveau ontvangt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetLogonSessionId

Roep deze methode aan om de aanmeldingssessie-id op te halen die is gekoppeld aan het CAccessToken object.

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

Parameterwaarden

pluid
Wijs een LUID aan die de aanmeldingssessie-id ontvangt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

In builds voor foutopsporing treedt er een assertiefout op als pluid een ongeldige waarde is.

CAccessToken::GetLogonSid

Roep deze methode aan om de aanmeldings-SID op te halen die aan het CAccessToken object is gekoppeld.

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

Parameterwaarden

pSid
Aanwijzer naar een CSid-klasseobject .

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

In builds voor foutopsporing treedt er een assertiefout op als pSid een ongeldige waarde is.

CAccessToken::GetOwner

Roep deze methode aan om de eigenaar op te halen die is gekoppeld aan het CAccessToken object.

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

Parameterwaarden

pSid
Aanwijzer naar een CSid-klasseobject .

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De eigenaar is standaard ingesteld op objecten die zijn gemaakt terwijl dit toegangstoken van kracht is.

CAccessToken::GetPrimaryGroup

Roep deze methode aan om de primaire groep op te halen die aan het CAccessToken object is gekoppeld.

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

Parameterwaarden

pSid
Aanwijzer naar een CSid-klasseobject .

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De groep wordt standaard ingesteld op objecten die zijn gemaakt terwijl dit toegangstoken van kracht is.

CAccessToken::GetPrivileges

Roep deze methode aan om de bevoegdheden op te halen die aan het CAccessToken object zijn gekoppeld.

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

Parameterwaarden

pPrivileges
Wijs een CTokenPrivileges-klasseobject aan waarmee de bevoegdheden worden ontvangen.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetProcessToken

Roep deze methode aan om het CAccessToken met het toegangstoken te initialiseren vanuit het opgegeven proces.

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

Parameterwaarden

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

hProcess
Afhandelen naar het proces waarvan het toegangstoken wordt geopend. Als de standaardwaarde van NULL wordt gebruikt, wordt het huidige proces gebruikt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Roept de Functie OpenProcessToken Win32 aan.

CAccessToken::GetProfile

Roep deze methode aan om de ingang op te halen die verwijst naar het gebruikersprofiel dat aan het CAccessToken object is gekoppeld.

HANDLE GetProfile() const throw();

Retourwaarde

Retourneert een ingang die verwijst naar het gebruikersprofiel of NULL als er geen profiel bestaat.

CAccessToken::GetSource

Roep deze methode aan om de bron van het CAccessToken object op te halen.

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

Parameterwaarden

pSource
Wijs een TOKEN_SOURCE structuur aan.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetStatistics

Roep deze methode aan om informatie op te halen die is gekoppeld aan het CAccessToken object.

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

Parameterwaarden

pStatistics
Aanwijzer naar een TOKEN_STATISTICS structuur.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetTerminalServicesSessionId

Roep deze methode aan om de Terminal Services-sessie-id op te halen die aan het CAccessToken object is gekoppeld.

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

Parameterwaarden

pdwSessionId
De sessie-id van Terminal Services.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetThreadToken

Roep deze methode aan om het CAccessToken met het token van de opgegeven thread te initialiseren.

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

Parameterwaarden

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

hThread
Greep naar de thread waarvan het toegangstoken is geopend.

bOpenAsSelf
Hiermee wordt aangegeven of de toegangscontrole moet worden uitgevoerd op basis van de beveiligingscontext van de thread die de GetThreadToken methode aanroept of op basis van de beveiligingscontext van het proces voor de aanroepende thread.

Als deze parameter ONWAAR is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext voor de aanroepende thread. Als de thread een client nabootst, kan deze beveiligingscontext dat van een clientproces zijn. Als deze parameter TRUE is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext van het proces voor de aanroepende thread.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetTokenId

Roep deze methode aan om de token-id op te halen die is gekoppeld aan het CAccessToken object.

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

Parameterwaarden

pluid
Wijs een LUID aan die de token-id ontvangt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::GetType

Roep deze methode aan om het tokentype van het CAccessToken object op te halen.

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

Parameterwaarden

pType
Adres van de TOKEN_TYPE variabele die bij succes het type token ontvangt.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het TOKEN_TYPE opsommingstype bevat waarden die onderscheid maken tussen een primair token en een imitatietoken.

CAccessToken::GetUser

Roep deze methode aan om de gebruiker te identificeren die is gekoppeld aan het CAccessToken object.

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

Parameterwaarden

pSid
Aanwijzer naar een CSid-klasseobject .

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CAccessToken::HKeyCurrentUser

Roep deze methode aan om de ingang op te halen die verwijst naar het gebruikersprofiel dat aan het CAccessToken object is gekoppeld.

HKEY HKeyCurrentUser() const throw();

Retourwaarde

Retourneert een ingang die verwijst naar het gebruikersprofiel of NULL als er geen profiel bestaat.

CAccessToken::imitatie

Roep deze methode aan om een imitatie CAccessToken toe te wijzen aan een thread.

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

Parameterwaarden

hThread
Handle to the thread to assign the impersonation token token token. Deze ingang moet zijn geopend met TOKEN_IMPERSONATE toegangsrechten. Als hThread NULL is, zorgt de methode ervoor dat de thread stopt met het gebruik van een imitatietoken.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

In builds voor foutopsporing treedt een assertiefout op als CAccessToken er geen geldige aanwijzer naar een token is.

De CAutoRevertImpersonation-klasse kan worden gebruikt om geïmiteerde toegangstokens automatisch terug te keren.

CAccessToken::ImpersonateLoggedOnUser

Roep deze methode aan om de aanroepende thread de beveiligingscontext van een aangemelde gebruiker te laten imiteren.

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

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Belangrijk

Als een aanroep van een imitatiefunctie om welke reden dan ook mislukt, wordt de client niet geïmiteerd en wordt de clientaanvraag gedaan in de beveiligingscontext van het proces van waaruit de aanroep is gedaan. Als het proces wordt uitgevoerd als een account met hoge bevoegdheden of als lid van een beheergroep, kan de gebruiker mogelijk acties uitvoeren die hij of zij anders niet heeft toegestaan. Daarom moet de retourwaarde voor deze functie altijd worden bevestigd.

CAccessToken::IsTokenRestricted

Roep deze methode aan om te testen of het CAccessToken object een lijst met beperkte SID's bevat.

bool IsTokenRestricted() const throw();

Retourwaarde

Retourneert TRUE als het object een lijst bevat met het beperken van SID's, FALSE als er geen beperkings-SID's zijn of als de methode mislukt.

CAccessToken::LoadUserProfile

Roep deze methode aan om het gebruikersprofiel te laden dat is gekoppeld aan het CAccessToken object.

bool LoadUserProfile() throw(...);

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

In builds voor foutopsporing treedt er een assertiefout op als het CAccessToken geen geldig token bevat of als er al een gebruikersprofiel bestaat.

CAccessToken::LogonUser

Roep deze methode aan om een aanmeldingssessie te maken voor de gebruiker die is gekoppeld aan de opgegeven referenties.

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

Parameterwaarden

pszUserName
Aanwijzer naar een door null beëindigde tekenreeks waarmee de gebruikersnaam wordt opgegeven. Dit is de naam van het gebruikersaccount om u aan te melden.

pszDomain
Aanwijzer naar een door null beëindigde tekenreeks die de naam aangeeft van het domein of de server waarvan de accountdatabase het pszUserName-account bevat.

pszPassword
Aanwijzer naar een tekenreeks met null-beëindiging waarmee het wachtwoord voor tekst zonder opmaak wordt opgegeven voor het gebruikersaccount dat is opgegeven door pszUserName.

dwLogonType
Hiermee geeft u het type aanmeldingsbewerking op dat moet worden uitgevoerd. Zie LogonUser voor meer informatie.

dwLogonProvider
Hiermee geeft u de aanmeldingsprovider op. Zie LogonUser voor meer informatie.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het toegangstoken dat het gevolg is van de aanmelding, wordt gekoppeld aan de CAccessToken. Om deze methode te voltooien, moet het CAccessToken object SE_TCB_NAME bevoegdheden hebben, waarmee de houder wordt geïdentificeerd als onderdeel van de vertrouwde computerbasis. Zie LogonUser voor meer informatie over de vereiste bevoegdheden.

CAccessToken::OpenCOMClientToken

Roep deze methode aan vanuit een COM-server die een aanroep van een client afhandelt om het CAccessToken met het toegangstoken van de COM-client te initialiseren.

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

Parameterwaarden

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

bImpersonate
Als WAAR is, imiteert de huidige thread de aanroepende COM-client als deze aanroep is voltooid. Als ONWAAR is, wordt het toegangstoken geopend, maar heeft de thread geen imitatietoken wanneer deze aanroep is voltooid.

bOpenAsSelf
Hiermee wordt aangegeven of de toegangscontrole moet worden uitgevoerd op basis van de beveiligingscontext van de thread die de GetThreadToken-methode aanroept of op basis van de beveiligingscontext van het proces voor de aanroepende thread.

Als deze parameter ONWAAR is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext voor de aanroepende thread. Als de thread een client nabootst, kan deze beveiligingscontext dat van een clientproces zijn. Als deze parameter TRUE is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext van het proces voor de aanroepende thread.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De CAutoRevertImpersonation-klasse kan worden gebruikt om automatisch geïmiteerde toegangstokens te herstellen die zijn gemaakt door de vlag bImpersonate in te stellen op TRUE.

CAccessToken::OpenNamedPipeClientToken

Roep deze methode aan vanuit een server die aanvragen via een benoemde pijp neemt om het CAccessToken met het toegangstoken van de client te initialiseren.

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

Parameterwaarden

hPipe
Greep naar een benoemde pijp.

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

bImpersonate
Als WAAR is, imiteert de huidige thread de aanroepende pijpclient als deze aanroep is voltooid. Als ONWAAR is, wordt het toegangstoken geopend, maar heeft de thread geen imitatietoken wanneer deze aanroep is voltooid.

bOpenAsSelf
Hiermee wordt aangegeven of de toegangscontrole moet worden uitgevoerd op basis van de beveiligingscontext van de thread die de GetThreadToken-methode aanroept of op basis van de beveiligingscontext van het proces voor de aanroepende thread.

Als deze parameter ONWAAR is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext voor de aanroepende thread. Als de thread een client nabootst, kan deze beveiligingscontext dat van een clientproces zijn. Als deze parameter TRUE is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext van het proces voor de aanroepende thread.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De CAutoRevertImpersonation-klasse kan worden gebruikt om automatisch geïmiteerde toegangstokens te herstellen die zijn gemaakt door de vlag bImpersonate in te stellen op TRUE.

CAccessToken::OpenRPCClientToken

Roep deze methode aan vanuit een server die een aanroep van een RPC-client verwerkt om het CAccessToken met het toegangstoken van de client te initialiseren.

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

Parameterwaarden

BindingHandle
Bindingsgreep op de server die een binding aan een client vertegenwoordigt.

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

bImpersonate
Als WAAR is, imiteert de huidige thread de aanroepende RPC-client als deze aanroep is voltooid. Als ONWAAR is, wordt het toegangstoken geopend, maar heeft de thread geen imitatietoken wanneer deze aanroep is voltooid.

bOpenAsSelf
Hiermee wordt aangegeven of de toegangscontrole moet worden uitgevoerd op basis van de beveiligingscontext van de thread die de GetThreadToken-methode aanroept of op basis van de beveiligingscontext van het proces voor de aanroepende thread.

Als deze parameter ONWAAR is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext voor de aanroepende thread. Als de thread een client nabootst, kan deze beveiligingscontext dat van een clientproces zijn. Als deze parameter TRUE is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext van het proces voor de aanroepende thread.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De CAutoRevertImpersonation-klasse kan worden gebruikt om automatisch geïmiteerde toegangstokens te herstellen die zijn gemaakt door de vlag bImpersonate in te stellen op TRUE.

CAccessToken::OpenThreadToken

Roep deze methode aan om het imitatieniveau in te stellen en initialiseer vervolgens het CAccessToken met het token van de opgegeven thread.

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

Parameterwaarden

dwDesiredAccess
Hiermee geeft u een toegangsmasker op waarmee de aangevraagde typen toegang tot het toegangstoken worden opgegeven. Deze aangevraagde toegangstypen worden vergeleken met de DACL van het token om te bepalen welke toegangen worden verleend of geweigerd.

bImpersonate
Als WAAR is, blijft de thread op het aangevraagde imitatieniveau staan nadat deze methode is voltooid. Als ONWAAR is, wordt de thread teruggezet naar het oorspronkelijke imitatieniveau.

bOpenAsSelf
Hiermee wordt aangegeven of de toegangscontrole moet worden uitgevoerd op basis van de beveiligingscontext van de thread die de GetThreadToken-methode aanroept of op basis van de beveiligingscontext van het proces voor de aanroepende thread.

Als deze parameter ONWAAR is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext voor de aanroepende thread. Als de thread een client nabootst, kan deze beveiligingscontext dat van een clientproces zijn. Als deze parameter TRUE is, wordt de toegangscontrole uitgevoerd met behulp van de beveiligingscontext van het proces voor de aanroepende thread.

Sil
Hiermee geeft u een SECURITY_IMPERSONATION_LEVEL geïnventariseerd type dat het imitatieniveau van het token levert.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

OpenThreadToken is vergelijkbaar met CAccessToken::GetThreadToken, maar stelt het imitatieniveau in voordat het toegangstoken van de CAccessToken thread wordt geïnitialiseerd.

De CAutoRevertImpersonation-klasse kan worden gebruikt om automatisch geïmiteerde toegangstokens te herstellen die zijn gemaakt door de vlag bImpersonate in te stellen op TRUE.

CAccessToken::P rivilegeCheck

Roep deze methode aan om te bepalen of een opgegeven set bevoegdheden is ingeschakeld in het CAccessToken object.

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

Parameterwaarden

RequiredPrivileges
Wijs een PRIVILEGE_SET structuur aan.

pbResult
Aanwijzer naar een waarde die door de methode wordt ingesteld om aan te geven of een of alle opgegeven bevoegdheden zijn ingeschakeld in het CAccessToken object.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Wanneer PrivilegeCheck deze functie wordt geretourneerd, wordt het Attributes lid van elke LUID_AND_ATTRIBUTES structuur ingesteld op SE_PRIVILEGE_USED_FOR_ACCESS als de bijbehorende bevoegdheid is ingeschakeld. Met deze methode wordt de Functie PrivilegeCheck Win32 aangeroepen.

CAccessToken::Revert

Roep deze methode aan om te voorkomen dat een thread een imitatietoken gebruikt.

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

Parameterwaarden

hThread
Greep naar de thread om terug te keren van imitatie. Als hThread NULL is, wordt uitgegaan van de huidige thread.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De reversion van imitatietokens kan automatisch worden uitgevoerd met de CAutoRevertImpersonation-klasse.

CAccessToken::SetDefaultDacl

Roep deze methode aan om de standaard-DACL van het CAccessToken object in te stellen.

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

Parameterwaarden

rDacl
De nieuwe standaard-CDacl-klassegegevens .

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De standaard-DACL is de DACL die standaard wordt gebruikt wanneer er nieuwe objecten worden gemaakt met dit toegangstoken.

CAccessToken::SetOwner

Roep deze methode aan om de eigenaar van het CAccessToken object in te stellen.

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

Parameterwaarden

rSid
Het CSid-klasseobject met de informatie van de eigenaar.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De eigenaar is de standaardeigenaar die wordt gebruikt voor nieuwe objecten die zijn gemaakt terwijl dit toegangstoken van kracht is.

CAccessToken::SetPrimaryGroup

Roep deze methode aan om de primaire groep van het CAccessToken object in te stellen.

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

Parameterwaarden

rSid
Het CSid-klasseobject met de informatie van de primaire groep.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

De primaire groep is de standaardgroep voor nieuwe objecten die zijn gemaakt terwijl dit toegangstoken van kracht is.

Zie ook

ATLSecurity-voorbeeld
Toegang tokens
Overzicht van klassen