WIF身份验证方案。 STS实施问题

时间:2010-09-01 11:16:41

标签: c# wcf authentication wif

我们正在考虑使用WIF对用户进行身份验证,因此我开始收集一些有关如何以正确方式执行此操作的信息。主要是我们应该如何创建STS。我很难找到有关我们场景的一些信息,我们有一个“主要”服务,将由内部和外部客户使用。

内部客户端将使用TCP连接到服务。我们的员工使用的桌面客户端应使用其域凭据(Active Directory)对服务进行身份验证。除此之外,我们还有少量使用该服务进行数据处理的应用程序。我们想向这些应用程序颁发证书。然后,他们将使用该证书通过STS进行身份验证,并返回包含该应用程序声明的令牌。这可能吗?

外部客户端将通过HTTP连接,使用用户名/密码(Web客户端)进行身份验证,或者通过上述类似的证书进行身份验证。

这是一个有效的场景吗?你会如何在WIF中实现这一点?你能指点一些你认为有帮助的文章吗?我可以通过单个STS(WCF)解决这个问题,还是需要多个STS?单个STS可以处理多种凭证(AD /用户名/证书)吗?

提前谢谢你。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

是的,可以使用WCF和WIF轻松完成。您只需要一个STS实现或服务,具有三个WCF端点。 net.tcp具有Windows身份验证的一个端点,一个用于使用证书进行身份验证的端点(这可以是具有X509客户端凭据的消息安全性或具有X509凭据的Http传输安全性),以及另一个用于用户名和密码的端点。你可能想看看Dominick Baier的STS Starter工具包,我想他已经为那个项目提供了一个实现。

这是一个用两个端点暴露STS服务的问题,

                                                                                                                                                                          

如果您使用的是WIF,则不需要ADFS。 ADFS是一种联合解决方案,它与AD集成,并在其上安装STS。您始终可以实现自己的STS,并在绑定配置中为Windows身份验证公开其他端点

由于 巴勃罗。