我在运行本地Windows帐户的Windows服务中托管了一个wcf应用程序。我是否需要为此帐户设置SPN?如果是这样,SPN需要设置的协议是什么?我知道如何通过HTTP为服务做这个,但从来没有为net.tcp做过。
答案 0 :(得分:6)
将服务帐户更改为AD帐户并注册SPN,如图所示。使用您自己的服务名称FooService接口
setspn -A fooservice / servermachinename domain \ serviceAccountName
setspn -A fooservice / servermachinename.fullyqualifieddomainname 域\ serviceAccountName
在客户端配置集中:
<identity>
<serviceprincipalname value="fooservice/servermachinename" />
</identity>
答案 1 :(得分:3)
默认情况下(即开箱即用)net.tcp服务是不安全的,根本不执行任何身份验证。因此,您不需要(实际上也不能)设置服务主体名称。
如果您需要进行身份验证,请检查MSDN上的net.tcp security模式。理解不同组合的最佳方法是进行实验!