题
我有一个 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>
不隶属于 StackOverflow