6

我在运行本地 Windows 帐户的 Windows 服务中托管了一个 wcf 应用程序。我需要为此帐户设置 SPN 吗?如果是这样,SPN 需要设置的协议是什么?我知道如何通过 HTTP 为服务执行此操作,但从未为 net.tcp 执行此操作。

4

2 回答 2

6

将服务帐户更改为 AD 帐户并注册 SPN,如图所示。使用您自己的服务名称,例如 fooservice

setspn -A fooservice/servermachinename domain\serviceAccountName
setspn -A fooservice/servermachinename.fullyqualifieddomainname domain\serviceAccountName

在客户端配置集中:

<identity>
    <serviceprincipalname value="fooservice/servermachinename" />
</identity>
于 2008-09-16T10:29:43.360 回答
3

默认情况下(即开箱即用)net.tcp 服务是不安全的,根本不执行任何身份验证。因此,您不需要(实际上也不能)设置服务主体名称。

如果您需要进行身份验证,请检查 MSDN 上的net.tcp 安全模式。了解不同组合的最佳方法是进行实验!

于 2008-09-02T20:12:02.473 回答