【问题标题】:Using both windows and certificate authentication in same endpoint in Service Broker在 Service Broker 的同一端点中同时使用 Windows 和证书身份验证
【发布时间】:2012-07-02 12:57:51
【问题描述】:
我们在 SQL Server 2008 中设置了分布式服务代理环境。有一个数据发布者和多个已发布数据的订阅者。我们需要其中一些订阅者通过 Windows 身份验证与发布者通信,而其他订阅者则通过基于证书的身份验证。是否可以使用证书和基于 Windows 的身份验证在发布者端创建服务代理端点?还要求所有订户在其末端都有一个对称的端点定义吗?我们可以在订阅者端定义一些端点只支持窗口和一些只支持证书吗?
【问题讨论】:
标签:
sql-server-2008
sql-server-2008-r2
service-broker
【解决方案1】:
服务代理端点以及数据库镜像端点支持混合模式身份验证。只需指定所需的两种模式:
CREATE ENDPOINT broker
STATE = STARTED
AS TCP (LISTENER_PORT = 4022)
FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS CERTIFICATE [<certificatename>]);
当这样配置时,端点将接受来自其他配置为仅使用 WINDOWS 身份验证的端点的连接,并将与它们一起使用 Windows。 IT 还将接受来自其他端点的连接,这些端点配置为仅使用 CERTIFICATE 并将使用证书。此外,当与另一个同样配置为同时使用 WINDOWS 和 CERTIFICATE 的端点进行身份验证时,将尝试在这两种协议上进行身份验证,并且只有在两种协议都失败时才会拒绝连接.如果 WINDOWS 或 CERTIFICATE 成功,则允许连接。顺序由接受连接的主机决定。