SOAP和REST端点公开的WCF服务中的自定义用户/密码身份验证

时间:2013-03-20 00:28:04

标签: c# wcf authentication

我有一个需要一些身份验证功能的WCF服务

  • 服务由SOAP端点和REST端口公开。 (即认证机制应该可以从两种类型的客户端使用)

  • 我在后端有自定义用户/密码验证。

  • 我需要以明文形式从客户端传递凭据,即未加密(服务在公司VPN中运行,密码已经过哈希)。

处理这个问题最优雅的方法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

对于用户名+密码验证,目前推荐的方法是使用UserNameSecurityTokenHandler:

http://msdn.microsoft.com/en-us/library/system.identitymodel.tokens.usernamesecuritytokenhandler.aspx

您需要最新版本的System.IdentityModel,不要将其误认为是Microsoft.IdentityModel。

当您能够在客户端生成代理类时,它适用于SOAP。您只需向客户端代理类提供凭据,并通过提到的令牌处理程序处理服务器端的逻辑。

我强烈建议将此博客用作参考,只搜索包含单词WCF的博客评论。 Dominick是该领域的顶级专家之一。

http://www.leastprivilege.com/