ITSGPolicyEngine::AuthorizeConnection-Methode (tsgpolicyengine.h)

Bestimmt, ob die angegebene Verbindung für die Verbindung mit dem Remotedesktopgateway (RD-Gateway) autorisiert ist.

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

Syntax

HRESULT AuthorizeConnection(
  [in] GUID                        mainSessionId,
  [in] BSTR                        username,
  [in] AAAuthSchemes               authType,
  [in] BSTR                        clientMachineIP,
  [in] BSTR                        clientMachineName,
  [in] BYTE                        *sohData,
  [in] ULONG                       numSOHBytes,
  [in] BYTE                        *cookieData,
  [in] ULONG                       numCookieBytes,
  [in] HANDLE_PTR                  userToken,
  [in] ITSGAuthorizeConnectionSink *pSink
);

Parameter

[in] mainSessionId

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

[in] username

Der Benutzername.

[in] authType

Ein Wert des AAAuthSchemes-Enumerationstyps , der den Typ der Authentifizierung angibt, die zum Herstellen einer Verbindung mit dem RD-Gateway verwendet wird.

[in] clientMachineIP

Die IP-Adresse des Computers des Benutzers.

[in] clientMachineName

Der Name des Computers des Benutzers.

[in] sohData

Ein Zeiger auf einen BYTE , der die vom Computer des Benutzers bereitgestellte Integritätsanweisung (SoH) enthält. Wenn für das Autorisierungs-Plug-In keine Integritätsanweisung erforderlich ist, ist dieser Parameter NULL. Weitere Informationen finden Sie in der IsQuarantineEnabled-Methode .

[in] numSOHBytes

Die Anzahl der Bytes, auf die vom parameter sohData verwiesen wird.

[in] cookieData

Ein Zeiger auf einen BYTE , der das vom Benutzer bereitgestellte Cookie enthält. Wenn der authType-Parameter nicht auf AA_AUTH_COOKIE festgelegt ist, ist dieser Parameter NULL.

[in] numCookieBytes

Die Anzahl der Bytes, auf die der cookieData-Parameter verweist.

[in] userToken

Ein Zeiger auf einen HANDLE , der das Benutzertoken des Benutzers angibt. Wenn der Benutzer Windows nicht ausführt, ist dieser Parameter NULL.

[in] pSink

Ein Zeiger auf eine ITSGAuthorizeConnectionSink-Schnittstelle , die das Autorisierungs-Plug-In verwenden muss, um 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, bis das Autorisierungs-Plug-In eine Methode der ITSGAuthorizeConnectionSink-Schnittstelle aufruft . Wenn ein anderer Wert zurückgegeben wird, verweigert RD Gateway die Autorisierungsanforderung sofort.

Wenn die Autorisierung mehr als 1 Sekunde benötigt, empfehlen wir, einen separaten Thread zu starten, um die Autorisierung durchzuführen.

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

Anforderungen

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

Weitere Informationen

ITSGAuthorizeConnectionSink

ITSGPolicyEngine

IsQuarantineEnabled