我需要为 net.tcp 服务设置啥 SPN?
Posted
技术标签:
【中文标题】我需要为 net.tcp 服务设置啥 SPN?【英文标题】:What SPN do I need to set for a net.tcp service?我需要为 net.tcp 服务设置什么 SPN? 【发布时间】:2010-09-07 12:23:01 【问题描述】:我有一个托管在运行本地 Windows 帐户的 Windows 服务中的 wcf 应用程序。我需要为此帐户设置 SPN 吗?如果是这样,SPN 需要设置的协议是什么?我知道如何为 HTTP 上的服务执行此操作,但从未为 net.tcp 执行此操作。
【问题讨论】:
【参考方案1】:将服务帐户更改为 AD 帐户并注册 SPN,如图所示。使用您自己的服务名称,例如美食服务
setspn -A fooservice/servermachinename 域\serviceAccountName setspn -A fooservice/servermachinename.fullyqualifieddomainname 域\serviceAccountName
在客户端配置集中:
<identity>
<serviceprincipalname value="fooservice/servermachinename" />
</identity>
【讨论】:
【参考方案2】:默认情况下(即开箱即用)net.tcp 服务是不安全的,根本不执行任何身份验证。因此,您不需要(实际上也不能)设置服务主体名称。
如果您需要进行身份验证,请查看 MSDN 上的net.tcp security 模式。了解不同组合的最佳方法是进行实验!
【讨论】:
嘿,伙计们,为什么投反对票?至少要发表评论,以便我们都可以学习。 我不知道 - 它帮助了我。这是一个 +1 让你振作起来:)以上是关于我需要为 net.tcp 服务设置啥 SPN?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 windows 2008R2 中注册 SPN 为 SQL Server 2012 服务帐户创建 SPN
WCF net.tcp 绑定:托管多个服务是不是需要端口共享?