我花了很多时间尝试让我的 Silverlight Business 应用程序在 Azure 上运行。到目前为止我的发现(有待修正)
Asp 网络身份验证适用于 Silverlight Web 应用程序,但如果添加了 Ria 服务则不行。这是因为 Azure 只允许每个主机进行一种形式的身份验证,如果身份验证模式不是匿名,WCF 将无法工作。这意味着使用 WebContext 是不可能的。
出于同样的原因,被动联合声明身份验证(OpenID 或自定义 STS)不适用于 Ria 服务。
身份培训套件中有一些好东西。事件的联合声明应允许使用登录弹出窗口。套件中再次有一个示例。我最初没有查看“浏览器外”示例,直到我意识到它也应该在浏览器中工作。我创建了一个自定义 STS,Web 应用程序成功调用了该 STS,但我得到了“未找到服务”的信息 - 我假设是在返回路径上。
我现在决定停止这一切,因为我需要启动并运行我的应用程序。 Silverlight 客户端已通过 Ria 服务与我的数据库进行通信 - 当身份验证数据位于同一数据库中时,为什么我需要创建额外的管道?仅根据数据库检查用户名和密码是否会损害安全性? System.ServiceModel.DomainServices.Client.ApplicationServices 命名空间在此有用吗?
最佳答案
您列表中的第二个陈述不准确。您可以通过 Ria 服务使用基于声明的身份。请参阅此处:
http://blogs.msdn.com/b/eugeniop/archive/2009/11/22/updated-ria-and-wif-samples.aspx http://blogs.msdn.com/b/eugeniop/archive/2009/11/25/ria-services-and-wif-part-ii.aspx
关于Azure 上的 Silverlight Ria 服务身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742476/