次の方法で共有


クライアント認証の制御

クライアントを認証するための最適な方法は、 RpcServerRegisterIf2 または RpcServerRegisterIfEx 関数を使用してセキュリティ コールバック関数 インストールすることです。は、セキュリティ コールバック関数を引数として受け入れます。 セキュリティ コールバック関数が呼び出されたら、必要なチェックを行います。 接続の属性、呼び出し元の ID、またはその両方を確認できます。 接続の属性をチェックするには、RpcServerInqCallAttributes または RpcBindingInqAuthClient 関数を呼び出します。 これにより、認証されていないクライアント、特定のセキュリティ プロバイダーを使用するクライアント、または十分な強力な保護 (プライバシーなど) を使用していないクライアントのフィルター処理が可能になります。

認証済みユーザーのサブセットへのアクセスを許可するには、 RpcGetAuthorizationContextForClient を使用します。 この関数は、非常に高度なアクセス チェックを行うために使用できる Authz クライアント コンテキストを返します。 たとえば、この方法を使用すると、通常の営業時間中にorganizationの副社長にのみアクセスでき、Active Directory サービスを使用して任意の時間に CEO にアクセスして、ユーザー名をタイトルにマップできます。 ユーザーを偽装し、その名前を取得できます。 ID がわかったら、必要なチェックを行うことができます。