Поделиться через


Управление проверкой подлинности клиента

Лучший метод проверки подлинности клиента — установка функции обратного вызова безопасности с помощью функции RpcServerRegisterIf2 или RpcServerRegisterIfEx ; либо принимает функцию обратного вызова безопасности в качестве аргумента. При вызове функции обратного вызова безопасности выполните необходимые проверки. Можно проверить атрибуты подключения, удостоверения вызывающего объекта или и то, и другое. Чтобы проверка атрибуты соединения, вызовите функцию RpcServerInqCallAttributes или RpcBindingInqAuthClient. Это позволяет фильтровать клиенты, которые не прошли проверку подлинности, клиенты, использующие определенный поставщик безопасности, или клиенты, которые не используют достаточно надежную защиту (например, конфиденциальность).

Чтобы разрешить доступ к подмножества пользователей, прошедших проверку подлинности, используйте RpcGetAuthorizationContextForClient. Эта функция возвращает контекст клиента Authz, который можно использовать для выполнения сложных проверок доступа. Например, этот метод можно использовать для предоставления доступа только вице-президентам в организации в обычные рабочие часы, а также для генерального директора в течение любого часа с помощью служб Active Directory для сопоставления имени пользователя с его должностью. Пользователь может быть олицетворен, и его имя можно получить. После того как их личность будет известна, можно выполнить любые необходимые проверки.