WCF 服务 - ASP.net 托管 - 单点登录,如何传递凭据
Posted
技术标签:
【中文标题】WCF 服务 - ASP.net 托管 - 单点登录,如何传递凭据【英文标题】:WCF Service - ASP.net hosting - single sign on, how to pass credentials 【发布时间】:2010-01-07 10:43:22 【问题描述】:我的情况是这样的 - 我有两个 ASP.net 网站。两个站点都在同一台机器上运行,我使用默认的 asp.net 成员提供程序(基于表单的身份验证)相对简单地实现了单点登录。
我在一个站点上有一个新的 WCF 服务,它将从另一个站点调用。用户将登录到该站点,但将在回发后从代码隐藏中调用服务。
谁能指出我正确的方向,以便我可以通过登录用户的基于表单的凭据传递到另一个站点上的 WCF 服务?目前它正在通过 NETWORKSERVICE windows 凭据。
【问题讨论】:
【参考方案1】:查看 CodePlex 上的 WCF Security Guidance,最值得注意的是:
How To – Use Username Authentication with the SQL Server Membership Provider and Message Security in WCF from Windows Forms
它一步一步很好地显示了您需要在服务器上进行哪些配置,以使您的 WCF 服务使用消息安全性以及针对 ASP.NET 成员存储的用户身份验证。
还可以查看文章Fundamentals of WCF Security - 第 3 页显示了有关身份验证和授权的选项 - 也非常有用!
希望这会有所帮助!
【讨论】:
感谢您的链接,非常有趣。【参考方案2】:听起来您正在使用 Impersonation,这将允许您将原始调用者的身份传递给第二个服务调用。
见CodePlex Link - Impersonation in WCF
【讨论】:
以上是关于WCF 服务 - ASP.net 托管 - 单点登录,如何传递凭据的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 ASP.NET 网站中托管时出现 WCF 服务异常错误