场景:
我有一个使用 ASP.NET 表单例份验证的 ASP.NET MVC 2 站点。
该站点包含一个需要安全调用内部 Web 服务的 Silverlight 4 应用程序。
Web 服务还需要公开公开,以便第三方进行身份验证访问。
挑战:
使用当前用户身份从 Silverlight 安全访问 Web 服务,无需用户在 Silverlight 应用程序中重新登录。
为第三方应用程序提供一种安全的方式,以使用相同的用户凭据访问相同的网络服务,最好不使用 ASP.NET 表单例份验证。
其他详细信息和限制:
此应用程序托管在 Azure 中。
如果可能的话,我们宁愿不使用 RIA 服务。
正在考虑的解决方案:
我认为,如果 Web 服务是托管 Silverlight 应用程序的同一个 MVC 站点的一部分,那么表单例份验证可能应该基于用户表单例份验证 cookie 从 Silverlight“正常工作”。但这似乎排除了单独托管 Web 服务的可能性(这在我们的场景中是理想的)。
对于第三方访问 Web 服务,我猜测具有不同身份验证解决方案的单独端点可能是正确的答案,但如果可能的话,我宁愿只支持一种版本的服务...
问题:
任何人都可以向我指出实现此类功能的示例应用程序吗?
您建议如何实现此解决方案?
最佳答案
您可以扩展 WCF 以使用 Membership 作为身份验证存储,并通过 Silverlight 应用程序将 Forms Auth Cookie(由 MVC 站点发送)重用到浏览器。
关于asp.net-mvc - Silverlight 4 - MVC 2 ASP.NET 成员(member)集成 "single sign on",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017029/