(我尝试搜索,但找不到任何真正有用的链接。)
我们正在实现一组 WCF 服务。我想在这些服务中做的是让客户端(将是受信任的应用程序服务器)能够将某种令牌传递给 Web 服务以进行身份验证。我不想被要求在初始或后续请求中传递用户名/密码(因为在某些情况下调用应用程序服务器可能没有密码)。Windows 和 Kerberos 在我们的特定情况下不可用。
我曾想过只创建一个简单的自定义 UserNameSecurityTokenAuthenticator 类并对其进行修改,以便如果密码为空,它将 userName 作为字符串编码的令牌值(显然检查令牌本身以验证它当时是否有效),但如果密码不为空,将用户名/密码转发给 MembershipProvider 进行检查。基本上我想重载用户名/密码身份验证以提供令牌传递。
这可能吗?我可以像这样简单地插入令牌身份验证器,还是有一些其他简单的方法来“拦截”这样的请求(并从解密的令牌中更新实际的用户名值)?
还是有其他一些非常简单的方法来允许客户端传递自定义令牌并让服务器接受我刚刚丢失的它?