Freigeben über


ITSGPolicyEngine::AuthorizeResource-Methode (tsgpolicyengine.h)

Bestimmt, mit welchen Ressourcen die angegebene Verbindung eine Verbindung herstellen darf.

Remotedesktopgateway (RD-Gateway) ruft diese Methode auf, nachdem ein Benutzer erfolgreich authentifiziert wurde. Das Autorisierungs-Plug-In sollte dann die ITSGAuthorizeConnectionSink-Schnittstelle verwenden, um das RD-Gateway über das Ergebnis der Autorisierung zu benachrichtigen.

Syntax

HRESULT AuthorizeResource(
  [in] GUID                      mainSessionId,
  [in] int                       subSessionId,
  [in] BSTR                      username,
  [in] BSTR                      *resourceNames,
  [in] ULONG                     numResources,
  [in] BSTR                      *alternateResourceNames,
  [in] ULONG                     numAlternateResourceName,
  [in] ULONG                     portNumber,
  [in] BSTR                      operation,
  [in] BYTE                      *cookie,
  [in] ULONG                     numBytesInCookie,
  [in] ITSGAuthorizeResourceSink *pSink
);

Parameter

[in] mainSessionId

Ein eindeutiger Bezeichner, der der Verbindungsanforderung vom RD-Gateway zugewiesen ist.

[in] subSessionId

Ein eindeutiger Bezeichner, der der Subsession vom RD-Gateway zugewiesen ist. Eine Teilsitzung ist eine Sitzung, die von einer anderen Sitzung gestartet wird.

[in] username

Der Benutzername.

[in] resourceNames

Eine Liste der zu autorisierenden Ressourcen.

[in] numResources

Die Anzahl der Ressourcen, auf die vom resourceNames-Parameter verwiesen wird.

[in] alternateResourceNames

Ein Zeiger auf einen BSTR , der eine Liste mit alternativen Ressourcennamen enthält. Dieser Parameter ist nur gültig, wenn der RD-Verbindungsbroker verwendet wird.

[in] numAlternateResourceName

Die Anzahl der alternativen Ressourcennamen, auf die vom alternateResourceNames-Parameter verwiesen wird.

[in] portNumber

Die vom Benutzer angegebene Portnummer.

[in] operation

Der Vorgang, den der Benutzer für die Ressource versucht. Dieser Parameter ist immer auf "RDP" festgelegt.

[in] cookie

Ein Zeiger auf ein BYTE , das das vom Benutzer bereitgestellte Cookie enthält. Wenn sich der Benutzer nicht mithilfe eines Cookies authentifiziert hat, ist dieser Parameter NULL.

[in] numBytesInCookie

Die Anzahl der Bytes, auf die vom Cookie-Parameter verwiesen wird.

[in] pSink

Ein Zeiger auf eine ITSGAuthorizeResourceSink-Schnittstelle , die das Autorisierungs-Plug-In verwenden muss, um das RD-Gateway über das Ergebnis der Autorisierung zu benachrichtigen.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Wenn diese Methode S_OK zurückgibt, wartet das RD-Gateway darauf, dass das Autorisierungs-Plug-In eine Methode der ITSGAuthorizeResourceSink-Schnittstelle aufruft . Wenn ein anderer Wert zurückgegeben wird, verweigert das RD-Gateway sofort die Autorisierungsanforderung.

Wenn die Autorisierung mehr als 1 Sekunde erfordert, wird empfohlen, einen separaten Thread zu starten, um die Autorisierung durchzuführen.

Ein Beispiel, das die AuthorizeResource-Methode verwendet, finden Sie im Beispiel für austauschbare Authentifizierung und Autorisierung des Remotedesktopgateways .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Unterstützte Mindestversion (Server) Windows Server 2008 R2
Zielplattform Windows
Kopfzeile tsgpolicyengine.h

Weitere Informationen

ITSGPolicyEngine