2010-02-11 76 views
2

(我试图寻找,但找不到任何真正有用的链接。)最简单的方法来使用客户端生成的令牌WCF认证

我们正在实施一系列WCF服务。我会要做的这些服务是有客户端(这将是值得信赖的应用程序服务器)能够将某种类型的令牌传递到Web服务进行身份验证。我不要希望被要求传递用户名/密码的初始或后续请求(因为在某些情况下,呼叫应用程序服务器可能没有密码)。 Windows和Kerberos在我们的特定情况下不可用。

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

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

还有其他一些令人难以置信的简单方法来允许客户端传递一个自定义令牌并让服务器接受它,我只是失踪?

回答

1

如果这是一个相当受控的环境中并没有太多的客户参与进来,那么我会尝试建立沿B2B场景使用固定两端证书传输链路线的东西。

证书没有绑定到Windows或AD域,并且设置它们是一次性工作。

了解更多关于WCF安全方案:

+0

啊,我应该提到这一点。它根本不是一个受控制的环境;应用程序被出售给并安装在我们的客户控制系统,所以我必须在网络拓扑结构,证书等。我想尽量减少额外的客户设置无法控制;如果我们的客户突然不得不开始为所有他们的应用服务器购买/安装证书,这将是一个负面的。 – technophile 2010-02-12 14:43:34

+0

我会阅读的链接,谢谢 - 一两件事,可能工作时是否有某种方式来产生X509或其他证书,所有的appservers可以针对每个用户为基础共享(我不想开安全漏洞,一个客户可以通过此可信连接访问他人的安装)。 – technophile 2010-02-12 14:48:16

相关问题