【问题标题】:WCF Using UserName Authentication with Message SecurityWCF 使用具有消息安全性的用户名身份验证
【发布时间】:2009-07-25 23:56:58
【问题描述】:

我正在开发一个将调用(广泛)WCF 服务的 ASP.NET 应用程序。现在,我显然有些精神崩溃了,因为我这辈子都无法正确地把它缠在我的头上。

我正在使用带有消息安全性和 UserName 的 ClientCredentialType 的 ws2007HttpBinding。 WCF 正在使用 ASP.NET Membership 提供程序来验证用户的凭据。

这一切都很好,但我显然需要在通话中包含用户详细信息:

var service = new MyService.MyServiceClient();
service.ClientCredentials.UserName.UserName = "my_username";
service.ClientCredentials.UserNane.Password = "mypassword";

.... etc ...

service.Close();

现在,从登录页面很容易,因为用户刚刚向我们提供了他们的用户名和密码。当我们需要使用用户凭据调用另一个服务时,我不习惯存储密码以供以后使用。

我是否遗漏了一些明显的东西?我已经阅读了有关令牌等的信息,但我不完全确定如何实施这种事情。我花了一整天的时间搜索和阅读,但我仍然不确定,所以您可以提供的任何帮助将不胜感激!

【问题讨论】:

    标签: c# wcf authorization credentials


    【解决方案1】:

    最简单的方法可能是真正将密码存储在自定义身份中。在理想的世界中,您将使用例如Kerberos 和委托。查找有关模拟和委托的更多信息。

    一篇不错的文章:

    http://msdn.microsoft.com/en-us/library/ms998358.aspx#paght000025_usingimpersonation

    但是所有这些东西都不适用于会员提供商。您需要使用 Active Directory 进行 Windows 身份验证。

    这个话题不是一个简单的话题...只是一个想法:您真的需要使用交互式登录用户的凭据在 Web 服务上进行身份验证吗?

    有点, 亚历克斯

    【讨论】:

    • 是的,你是对的,想多了我不需要一直用他们的凭据调用服务
    猜你喜欢
    • 2011-06-08
    • 2014-07-28
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 2010-11-13
    相关资源
    最近更新 更多