2010-06-10 67 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類似。