我需要为 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?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能使用 SPN 执行 kinit?

在 .Net 中强制 URL 的特定 SPN

无法在 windows 2008R2 中注册 SPN 为 SQL Server 2012 服务帐户创建 SPN

WCF net.tcp 绑定:托管多个服务是不是需要端口共享?

我需要为应用设置 GCM / FCM 推送通知。我对服务器端实现一无所知。我应该阅读/研究啥?

使用 net tcp 的 WCF 双工服务:“需要流安全性...”