2010-06-10 32 views
2

方案 “单点登录”:的Silverlight 4 - MVC 2 ASP.NET会员积分

  1. 我有使用ASP.NET的ASP.NET MVC 2的网站表单验证。

  2. 该网站包含需要安全调用内部Web服务的Silverlight 4应用程序。

  3. Web服务还需要公开公开以获得第三方认证的访问权限。

挑战:

  1. 安全地访问来自Silverlight中使用当前用户的身份,而无需用户在Silverlight应用程序重新登录在web服务。

  2. 为第三方应用程序提供安全的方式来访问相同的Web服务相同的用户凭据,理想情况下无需使用ASP.NET Forms身份验证。

的其他细节和限制:

  1. 该应用程序在Azure中托管。

  2. 如果可能的话,我们宁愿不使用RIA服务。

解决方案在考虑:

  1. 我认为,如果web服务是承载的Silverlight应用程序相同的MVC网站的一部分,那么基于表单的认证或许应该“只是工作” Silverlight的用户形成auth cookie。但是这似乎排除了单独托管Web服务的可能性(这在我们的场景中是可取的)。

  2. 对于第三方访问Web服务我猜,有不同的解决方案authenication独立终点可能是正确的答案,但我宁愿只支持如果可能的服务的一个版本...

问题:

  1. 任何人可以点我朝着实现这样的事情任何示例应用程序?

  2. 您如何建议实施此解决方案?

+0

基于没有回应这个问题,我会假设没有很好的答案... – Scrappydog 2010-06-15 20:02:13

+0

SSO是一个很好的打击狗,这里和其他地方有很多例子,但你的故事可以说是一个角落案例挖掘中的经验可能不会有太多答案。我会说,从我的经验来看,这似乎是一个合理和可实施的故事,但需要集中注意力,你不可能从那些尚未实施过这样的故事的人那里获得。祝你好运。 – 2010-07-18 01:40:02

+0

我有一个非常相似的场景。你究竟做了什么? – 2010-10-26 20:31:34

回答

0

您可以扩展WCF的Silverlight应用程序使用会员为authencation存储和重用FormsAuth的Cookie(由MVC网站发送)到浏览器。

0

我建议在Windows身份基础中使用STS,这样您就可以让您的应用使用声明身份,然后在应用之外更改身份验证。对于第三方,您可以使用Windows Azure访问控制服务(ACS)。我们正在更新关于此的指导,您可以查看新代码,向我们展示如何在我们的codeplex site上执行此操作。原书可在Amazon找到。我会专注于更新的指南,因为它有ACS有网站和活跃的客户与WCF交谈。客户端是WPF,但它与Silverlight类似。