控制客户端身份验证

对客户端进行身份验证的最佳方法是使用 RpcServerRegisterIf2RpcServerRegisterIfEx 函数安装安全回调函数;两者都接受安全回调函数作为参数。 调用安全回调函数时,进行必要的检查。 可以检查连接上的属性和/或调用方标识。 若要检查连接的属性,请调用 RpcServerInqCallAttributesRpcBindingInqAuthClient 函数。 这样就可以筛选未经过身份验证的客户端、使用特定安全提供程序的客户端,或者未使用足够强大的保护 ((如隐私) )的客户端。

若要允许访问经过身份验证的用户的子集,请使用 RpcGetAuthorizationContextForClient。 此函数返回可用于进行非常复杂的访问检查的 Authz 客户端上下文。 例如,此方法可用于在正常工作时间内仅允许组织中的副总裁访问,并在任意小时内允许 CEO 使用 Active Directory 服务将用户名映射到其标题。 可以模拟用户,并获取其名称。 知道他们的身份后,可以进行任何所需的检查。