CTokenPrivileges-Klasse
Diese Klasse ist ein Wrapper für die TOKEN_PRIVILEGES
Struktur.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CTokenPrivileges
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CTokenPrivileges::CTokenPrivileges | Der Konstruktor. |
CTokenPrivileges::~CTokenPrivileges | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CTokenPrivileges::Add | Fügt dem CTokenPrivileges Objekt mindestens ein Recht hinzu. |
CTokenPrivileges::D elete | Löscht ein Privileg aus dem CTokenPrivileges Objekt. |
CTokenPrivileges::D eleteAll | Löscht alle Berechtigungen aus dem CTokenPrivileges Objekt. |
CTokenPrivileges::GetCount | Gibt die Anzahl der Berechtigungseinträge im CTokenPrivileges Objekt zurück. |
CTokenPrivileges::GetDisplayNames | Ruft Anzeigenamen für die im CTokenPrivileges Objekt enthaltenen Berechtigungen ab. |
CTokenPrivileges::GetLength | Gibt die Puffergröße in Byte zurück, die erforderlich ist, um die TOKEN_PRIVILEGES struktur zu enthalten, die durch das CTokenPrivileges Objekt dargestellt wird. |
CTokenPrivileges::GetLuidsAndAttributes | Ruft die lokal eindeutigen Bezeichner (LUIDs) und Attributkennzeichen aus dem CTokenPrivileges Objekt ab. |
CTokenPrivileges::GetNamesAndAttributes | Ruft die Berechtigungsnamen und Attributkennzeichnungen aus dem CTokenPrivileges Objekt ab. |
CTokenPrivileges::GetPTOKEN_PRIVILEGES | Gibt einen Zeiger auf die TOKEN_PRIVILEGES Struktur zurück. |
CTokenPrivileges::LookupPrivilege | Ruft das Attribut ab, das einem bestimmten Berechtigungsnamen zugeordnet ist. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CTokenPrivileges::operator const TOKEN_PRIVILEGES * | Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES Struktur um. |
CTokenPrivileges::operator = | Zuweisungsoperator. |
Hinweise
Ein Zugriffstoken ist ein Objekt, das den Sicherheitskontext eines Prozesses oder Threads beschreibt und jedem Benutzer zugewiesen wird, der bei einem Windows-System angemeldet ist.
Das Zugriffstoken wird verwendet, um die verschiedenen Sicherheitsberechtigungen zu beschreiben, die jedem Benutzer gewährt werden. Ein Privileg besteht aus einer 64-Bit-Zahl, die als lokal eindeutiger Bezeichner ( LUID) und einer Deskriptorzeichenfolge bezeichnet wird.
Die CTokenPrivileges
Klasse ist ein Wrapper für die TOKEN_PRIVILEGES-Struktur und enthält 0 oder mehr Berechtigungen. Berechtigungen können mithilfe der angegebenen Klassenmethoden hinzugefügt, gelöscht oder abgefragt werden.
Eine Einführung in das Zugriffssteuerungsmodell in Windows finden Sie unter Access Control im Windows SDK.
Anforderungen
Kopfzeile: atlsecurity.h
CTokenPrivileges::Add
Fügt dem CTokenPrivileges
Zugriffstokenobjekt mindestens ein Recht hinzu.
bool Add(LPCTSTR pszPrivilege, bool bEnable) throw(...);
void Add(const TOKEN_PRIVILEGES& rPrivileges) throw(...);
Parameter
pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei.
bEnable
Bei "true" ist die Berechtigung aktiviert. Wenn "false" ist die Berechtigung deaktiviert.
rPrivileges
Verweisen auf eine TOKEN_PRIVILEGES-Struktur . Die Berechtigungen und Attribute werden aus dieser Struktur kopiert und dem CTokenPrivileges
Objekt hinzugefügt.
Rückgabewert
Die erste Form dieser Methode gibt "true" zurück, wenn die Berechtigungen erfolgreich hinzugefügt werden, andernfalls "false".
CTokenPrivileges::CTokenPrivileges
Der Konstruktor.
CTokenPrivileges() throw();
CTokenPrivileges(const CTokenPrivileges& rhs) throw(... );
CTokenPrivileges(const TOKEN_PRIVILEGES& rPrivileges) throw(...);
Parameter
rhs
Das CTokenPrivileges
Objekt, das dem neuen Objekt zugewiesen werden soll.
rPrivileges
Die TOKEN_PRIVILEGES Struktur, die dem neuen CTokenPrivileges
Objekt zugewiesen werden soll.
Hinweise
Das CTokenPrivileges
Objekt kann optional mithilfe einer TOKEN_PRIVILEGES
Struktur oder eines zuvor definierten CTokenPrivileges
Objekts erstellt werden.
CTokenPrivileges::~CTokenPrivileges
Der Destruktor.
virtual ~CTokenPrivileges() throw();
Hinweise
Der Destruktor gibt alle zugeordneten Ressourcen frei.
CTokenPrivileges::D elete
Löscht ein Privileg aus dem CTokenPrivileges
Zugriffstokenobjekt.
bool Delete(LPCTSTR pszPrivilege) throw();
Parameter
pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei. Beispielsweise könnte dieser Parameter die Konstante SE_SECURITY_NAME oder die entsprechende Zeichenfolge "SeSecurityPrivilege" angeben.
Rückgabewert
Gibt true zurück, wenn die Berechtigung erfolgreich gelöscht wurde, andernfalls "false".
Hinweise
Diese Methode ist hilfreich als Tool zum Erstellen von eingeschränkten Token.
CTokenPrivileges::D eleteAll
Löscht alle Berechtigungen aus dem CTokenPrivileges
Zugriffstokenobjekt.
void DeleteAll() throw();
Hinweise
Löscht alle Im Zugriffstokenobjekt enthaltenen CTokenPrivileges
Berechtigungen.
CTokenPrivileges::GetDisplayNames
Ruft Anzeigenamen für die Im Zugriffstokenobjekt enthaltenen CTokenPrivileges
Berechtigungen ab.
void GetDisplayNames(CNames* pDisplayNames) const throw(...);
Parameter
pDisplayNames
Ein Zeiger auf ein Array von CString
-Objekten. CNames
ist als typedef definiert: CTokenPrivileges::CAtlArray<CString>
.
Hinweise
Der Parameter pDisplayNames
ist ein Zeiger auf ein Array von CString
Objekten, das die Anzeigenamen erhält, die den im CTokenPrivileges
Objekt enthaltenen Berechtigungen entsprechen. Diese Methode ruft Anzeigenamen nur für die im Abschnitt "Definierten Berechtigungen" von WINNT.H angegebenen Berechtigungen ab.
Diese Methode ruft einen anzeigefähigen Namen ab: Wenn der Attributname beispielsweise SE_REMOTE_SHUTDOWN_NAME ist, lautet der anzeigefähige Name "Herunterfahren von einem Remotesystem erzwingen". Verwenden Sie zum Abrufen des Systemnamens CTokenPrivileges::GetNamesAndAttributes.
CTokenPrivileges::GetCount
Gibt die Anzahl der Berechtigungseinträge im CTokenPrivileges
Objekt zurück.
UINT GetCount() const throw();
Rückgabewert
Gibt die Anzahl der im CTokenPrivileges
Objekt enthaltenen Berechtigungen zurück.
CTokenPrivileges::GetLength
Gibt die Länge des CTokenPrivileges
Objekts zurück.
UINT GetLength() const throw();
Rückgabewert
Gibt die Anzahl der Bytes zurück, die erforderlich sind, um eine TOKEN_PRIVILEGES
Struktur zu enthalten, die durch das CTokenPrivileges
Objekt dargestellt wird, einschließlich aller darin enthaltenen Berechtigungseinträge.
CTokenPrivileges::GetLuidsAndAttributes
Ruft die lokal eindeutigen Bezeichner (LUIDs) und Attributkennzeichen aus dem CTokenPrivileges
Objekt ab.
void GetLuidsAndAttributes(
CLUIDArray* pPrivileges,
CAttributes* pAttributes = NULL) const throw(...);
Parameter
pPrivileges
Zeigen Sie auf ein Array von LUID-Objekten . CLUIDArray
ist ein typedef definiert als CAtlArray<LUID> CLUIDArray
.
pAttributes
Zeigen Sie auf ein Array von DWORD-Objekten. Wenn dieser Parameter nicht angegeben oder NULL ist, werden die Attribute nicht abgerufen. CAttributes
ist ein typedef definiert als CAtlArray <DWORD> CAttributes
.
Hinweise
Mit dieser Methode werden alle im Zugriffstokenobjekt enthaltenen Berechtigungen aufgelistet CTokenPrivileges
und die einzelnen LUIDs und (optional) die Attributkennzeichnungen in Arrayobjekte platziert.
CTokenPrivileges::GetNamesAndAttributes
Ruft die Namen- und Attributkennzeichnungen aus dem CTokenPrivileges
Objekt ab.
void GetNamesAndAttributes(
CNames* pNames,
CAttributes* pAttributes = NULL) const throw(...);
Parameter
pNames
Zeigen Sie auf ein Array von CString
Objekten. CNames
ist ein typedef definiert als CAtlArray <CString> CNames
.
pAttributes
Zeigen Sie auf ein Array von DWORD-Objekten. Wenn dieser Parameter nicht angegeben oder NULL ist, werden die Attribute nicht abgerufen. CAttributes
ist ein typedef definiert als CAtlArray <DWORD> CAttributes
.
Hinweise
Mit dieser Methode werden alle im Objekt enthaltenen Berechtigungen aufgelistet, wobei der Name und (optional) die Attributkennzeichnungen in Arrayobjekte platziert CTokenPrivileges
werden.
Diese Methode ruft den Attributnamen und nicht den anzeigefähigen Namen ab: Wenn der Attributname z. B. SE_REMOTE_SHUTDOWN_NAME ist, lautet der Systemname "SeRemoteShutdownPrivilege". Verwenden Sie zum Abrufen des anzeigefähigen Namens die Methode CTokenPrivileges::GetDisplayNames.
CTokenPrivileges::GetPTOKEN_PRIVILEGES
Gibt einen Zeiger auf die TOKEN_PRIVILEGES
Struktur zurück.
const TOKEN_PRIVILEGES* GetPTOKEN_PRIVILEGES() const throw(...);
Rückgabewert
Gibt einen Zeiger auf die TOKEN_PRIVILEGES Struktur zurück.
CTokenPrivileges::LookupPrivilege
Ruft das Attribut ab, das einem bestimmten Berechtigungsnamen zugeordnet ist.
bool LookupPrivilege(
LPCTSTR pszPrivilege,
DWORD* pdwAttributes = NULL) const throw(...);
Parameter
pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei. Beispielsweise könnte dieser Parameter die Konstante SE_SECURITY_NAME oder die entsprechende Zeichenfolge "SeSecurityPrivilege" angeben.
pdwAttributes
Zeiger auf eine Variable, die die Attribute empfängt.
Rückgabewert
Gibt "true" zurück, wenn das Attribut erfolgreich abgerufen wurde, andernfalls "false".
CTokenPrivileges::operator =
Zuweisungsoperator.
CTokenPrivileges& operator= (const TOKEN_PRIVILEGES& rPrivileges) throw(...);
CTokenPrivileges& operator= (const CTokenPrivileges& rhs) throw(...);
Parameter
rPrivileges
Die TOKEN_PRIVILEGES Struktur, die dem CTokenPrivileges
Objekt zugewiesen werden soll.
rhs
Das CTokenPrivileges
Objekt, das dem Objekt zugewiesen werden soll.
Rückgabewert
Gibt das aktualisierte Objekt zurück CTokenPrivileges
.
CTokenPrivileges::operator const TOKEN_PRIVILEGES *
Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES
Struktur um.
operator const TOKEN_PRIVILEGES *() const throw(...);
Hinweise
Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES Struktur um.
Siehe auch
Sicherheitsbeispiel
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Klassenübersicht
Globale Sicherheitsfunktionen