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

有帮助吗?

解决方案

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

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

其他提示

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

setspn -A fooservice/servermachinename 域\serviceAccountName
setSpn -a fooservice/servermachineName.lousqualifydomainname domain serviceaccountname

在客户端配置集中:

<identity>
    <serviceprincipalname value="fooservice/servermachinename" />
</identity>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top