2

(我尝试搜索,但找不到任何真正有用的链接。)

我们正在实现一组 WCF 服务。我想这些服务中做的是让客户端(将是受信任的应用程序服务器)能够将某种令牌传递给 Web 服务以进行身份​​验证。我不想被要求在初始或后续请求中传递用户名/密码(因为在某些情况下调用应用程序服务器可能没有密码)。Windows 和 Kerberos 在我们的特定情况下不可用。

我曾想过只创建一个简单的自定义 UserNameSecurityTokenAuthenticator 类并对其进行修改,以便如果密码为空,它将 userName 作为字符串编码的令牌值(显然检查令牌本身以验证它当时是否有效),但如果密码不为空,将用户名/密码转发给 MembershipProvider 进行检查。基本上我想重载用户名/密码身份验证以提供令牌传递。

这可能吗?我可以像这样简单地插入令牌身份验证器,还是有一些其他简单的方法来“拦截”这样的请求(并从解密的令牌中更新实际的用户名值)?

还是有其他一些非常简单的方法来允许客户端传递自定义令牌并让服务器接受我刚刚丢失的它?

4

1 回答 1

1

如果它是一个相当受控的环境并且涉及的客户端不多,那么我会尝试按照 B2B 场景的方式设置一些东西,使用两端的证书来保护传输链路。

证书不绑定到 Windows 或 AD 域,设置它们是一次性的工作。

阅读有关该 WCF 安全方案的更多信息:

于 2010-02-12T06:18:35.693 回答