我的情况是这样的——我有两个 ASP.net 网站。两个站点都在同一台机器上运行,我使用默认的 asp.net 成员提供程序(基于表单的身份验证)相对简单地实现了单点登录。
我在一个站点上有一个新的 WCF 服务,它将从另一个站点调用。用户将登录到该站点,但将在回发后从代码隐藏中调用该服务。
有人可以指出我正确的方向,以便我可以将登录用户的基于表单的凭据传递到另一个站点上的 WCF 服务吗?目前它正在通过 NETWORKSERVICE windows 凭据。
我的情况是这样的——我有两个 ASP.net 网站。两个站点都在同一台机器上运行,我使用默认的 asp.net 成员提供程序(基于表单的身份验证)相对简单地实现了单点登录。
我在一个站点上有一个新的 WCF 服务,它将从另一个站点调用。用户将登录到该站点,但将在回发后从代码隐藏中调用该服务。
有人可以指出我正确的方向,以便我可以将登录用户的基于表单的凭据传递到另一个站点上的 WCF 服务吗?目前它正在通过 NETWORKSERVICE windows 凭据。
查看 CodePlex 上的WCF 安全指南,最值得注意的是:
如何使用 SQL Server 成员身份提供程序和 WCF 中的消息安全性从 Windows 窗体中使用用户名身份验证
它一步一步地很好地显示了您需要在服务器上进行哪些配置,以使您的 WCF 服务使用消息安全性和针对 ASP.NET 成员存储的用户身份验证。
另请查看文章WCF 安全性基础- 第 3 页显示了有关身份验证和授权的选项 - 也非常有用!
希望这可以帮助!
听起来您正在使用模拟,这将允许您将原始呼叫者的身份传递给第二个服务呼叫。