AuthzInitializeContextFromSid-Funktion (authz.h)
Die AuthzInitializeContextFromSid-Funktion erstellt einen Clientkontext im Benutzermodus aus einer Benutzersicherheits-ID (SID). Domänen-SIDs rufen Tokengruppenattribute aus Active Directory ab.
Syntax
AUTHZAPI BOOL AuthzInitializeContextFromSid(
[in] DWORD Flags,
[in] PSID UserSid,
[in, optional] AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager,
[in] PLARGE_INTEGER pExpirationTime,
[in] LUID Identifier,
[in, optional] PVOID DynamicGroupArgs,
[out] PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext
);
Parameter
[in] Flags
Die folgenden Flags sind definiert.
Ab Windows 8 und Windows Server 2012 müssen die oberen 16 Bits null sein, wenn Sie diese Funktion für ein Remotekontexthandle aufrufen.
Wert | Bedeutung |
---|---|
|
Standardwert.
AuthzInitializeContextFromSid versucht, die Tokengruppeninformationen des Benutzers abzurufen, indem eine S4U-Anmeldung ausgeführt wird. Wenn die S4U-Anmeldung von der Domäne des Benutzers oder dem aufrufenden Computer nicht unterstützt wird, fragt AuthzInitializeContextFromSid das Kontoobjekt des Benutzers nach Gruppeninformationen ab. Wenn ein Konto direkt abgefragt wird, werden einige Gruppen, die Anmeldemerkmale darstellen, z. B. Netzwerk, Interaktiv, Anonym, Netzwerkdienst oder lokaler Dienst, ausgelassen. Anwendungen können solche Gruppen-SIDs explizit hinzufügen, indem sie die AuthzComputeGroupsCallback-Funktion implementieren oder die AuthzAddSidsToContext-Funktion aufrufen. |
|
Bewirkt , dass AuthzInitializeContextFromSid alle Gruppenauswertungen überspringt. Wenn dieses Flag verwendet wird, enthält der zurückgegebene Kontext nur die vom UserSid-Parameter angegebene SID. Die angegebene SID kann eine beliebige oder anwendungsspezifische SID sein. Andere SIDs können diesem Kontext hinzugefügt werden, indem sie die AuthzComputeGroupsCallback-Funktion implementieren oder die Funktion AuthzAddSidsToContext aufrufen. |
|
Bewirkt , dass AuthzInitializeContextFromSid fehlschlägt, wenn Windows-Dienste für Benutzer nicht zum Abrufen von Tokengruppeninformationen verfügbar sind.
Windows XP: Dieses Flag wird nicht unterstützt. |
|
Bewirkt , dass AuthzInitializeContextFromSid Berechtigungen für den neuen Kontext abruft. Wenn diese Funktion eine S4U-Anmeldung ausführt, ruft sie Berechtigungen aus dem Token ab. Andernfalls ruft die Funktion Berechtigungen von allen SIDs im Kontext ab. |
[in] UserSid
Die SID des Benutzers, für den ein Clientkontext erstellt wird. Dies muss ein gültiges Benutzer- oder Computerkonto sein, es sei denn, das flag AUTHZ_SKIP_TOKEN_GROUPS wird verwendet.
[in, optional] hAuthzResourceManager
Ein Handle für den Ressourcen-Manager, der diesen Clientkontext erstellt. Dieses Handle wird in der Clientkontextstruktur gespeichert.
Ab Windows 8 und Windows Server 2012 kann der Ressourcen-Manager lokal oder remote sein und wird durch Aufrufen der AuthzInitializeRemoteResourceManager-Funktion abgerufen.
[in] pExpirationTime
Ablaufdatum und -uhrzeit des Tokens. Wenn kein Wert übergeben wird, läuft das Token nie ab. Die Ablaufzeit wird derzeit nicht erzwungen.
[in] Identifier
Spezifischer Bezeichner des Ressourcen-Managers. Dieser Parameter wird derzeit nicht verwendet.
[in, optional] DynamicGroupArgs
Ein Zeiger auf Parameter, die an die Rückruffunktion übergeben werden sollen, die dynamische Gruppen berechnet. Dieser Parameter kann NULL sein, wenn keine dynamischen Parameter an die Rückruffunktion übergeben werden.
Ab Windows 8 und Windows Server 2012 muss dieser Parameter NULL sein, wenn der Ressourcen-Manager remote ist. Andernfalls wird ERROR_NOT_SUPPORTED festgelegt.
[out] phAuthzClientContext
Ein Zeiger auf das Handle auf den Clientkontext, den die AuthzInitializeContextFromSid-Funktion erstellt. Wenn Sie die Verwendung des Handles abgeschlossen haben, geben Sie es frei, indem Sie die AuthzFreeContext-Funktion aufrufen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null zurück.
Wenn die Funktion fehlschlägt, wird null zurückgegeben. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Rufen Sie nach Möglichkeit die AuthzInitializeContextFromToken-Funktion anstelle von AuthzInitializeContextFromSid auf. AuthzInitializeContextFromSid versucht, die in einem Anmeldetoken verfügbaren Informationen abzurufen, wenn der Client tatsächlich angemeldet war. Ein tatsächliches Anmeldetoken bietet weitere Informationen, z. B. Anmeldetyp und Anmeldeeigenschaften, und spiegelt das Verhalten des für die Anmeldung verwendeten Authentifizierungspakets wider. Der von AuthzInitializeContextFromToken erstellte Clientkontext verwendet ein Anmeldetoken, und der resultierende Clientkontext ist vollständiger und genauer als ein von AuthzInitializeContextFromSid erstellter Clientkontext.
Diese Funktion löst nur gültige Benutzer-SIDs auf.
Windows XP: Diese Funktion löst Gruppenmitgliedschaften für gültige Benutzer- und Gruppen-SIDs auf (es sei denn, es wird das flag AUTHZ_SKIP_TOKEN_GROUPS verwendet). Die Unterstützung für das Auflösen von Mitgliedschaften von Gruppen-SIDs kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.
Diese Funktion ruft die Rückruffunktion AuthzComputeGroupsCallback auf, um dem neu erstellten Kontext SIDs hinzuzufügen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | authz.h |
Bibliothek | Authz.lib |
DLL | Authz.dll |
Verteilbare Komponente | Windows Server 2003 Administration Tools Pack unter Windows XP |