【问题标题】:Easiest method to use a client-generated token for WCF authentication使用客户端生成的令牌进行 WCF 身份验证的最简单方法
【发布时间】:2010-02-11 22:09:22
【问题描述】:

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

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

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

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

或者是否有其他一些非常简单的方法可以让客户端传递自定义令牌并让服务器接受我刚刚错过的它?

【问题讨论】:

    标签: wcf authentication token


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊,我应该提到这个。这根本不是一个受控的环境。该应用程序出售给并安装在我们客户控制的系统上,因此我无法控制网络拓扑、证书等。我希望尽量减少额外的客户设置;如果我们的客户突然不得不开始为他们的所有应用服务器购买/安装证书,那将是负面的。
    • 我会阅读链接,谢谢——如果有某种方法可以生成 X509 或其他所有应用服务器可以按客户共享的证书(我不想打开一个安全漏洞,一个客户可以通过这个受信任的连接访问另一个客户的安装)。
    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    相关资源
    最近更新 更多