Silverlight:访问表单身份验证站点后面的 REST 服务

Posted

技术标签:

【中文标题】Silverlight:访问表单身份验证站点后面的 REST 服务【英文标题】:Silverlight: Access REST service behind forms authentication site 【发布时间】:2010-01-11 15:15:06 【问题描述】:

我是 Silverlight 的新手,我正在构建一个简单的应用程序,它为费用报告门户提供了一个界面。该门户有一个我可以访问的 REST API;我知道我可以使用 WebClient 或 WebHttpRequest 来做到这一点。但是,为了能够访问 API,我需要先登录。登录是网站 login.aspx 上的简单表单身份验证。如何从 Silverlight 登录(发布到登录页面)?

注意:该站点设置了 clientaccesspolicy.xml,我可以访问不需要您登录的 REST URL。

【问题讨论】:

【参考方案1】:

您是否查看过 Silverlight 业务应用程序项目模板和 WCF Ria Services。该模板内置了登录表单认证网站的功能。

您可以将其用作您的 silverlight 应用程序的起点,或者只是使用它来了解如何从 silverlight 执行身份验证。

【讨论】:

我第二次看WCF RIA的动作。特别是如果它很简单。就好像它是为你而设计的(这让我们对它的复杂用法感到非常不满) 我查看了 WCF Ria 服务,但没有找到任何可以帮助我的东西。我最终做的是使用 HttpWebRequest 发布到登录页面,然后我从响应中删除 cookie 并将 cookie 用于将来的请求。 好吧,至少你已经解决了你的问题。我仍然相信 RIA 服务将是最简单的途径。开箱即用,业务应用程序模板具有登录和注销用户的能力。

以上是关于Silverlight:访问表单身份验证站点后面的 REST 服务的主要内容,如果未能解决你的问题,请参考以下文章

Silverlight 4中的IIS Windows身份验证问题

使用表单身份验证进行模拟

使用 ASP.NET 表单身份验证时如何获取当前登录用户的用户 ID?

自定义域服务失败但身份验证有效(Silverlight Biz 应用程序模板)

如何使用表单身份验证部署 SQL Server 报告服务?

Silverlight 浏览器的基本身份验证