0

我有一個asp.net MVC 3網站和silverlight 4商業應用程序。另外,他們都使用asp會員系統(Silverlight應用程序通過RIA服務)。我可以分別運行它們並創建用戶或從網站或Silverlight商業應用程序登錄。在這方面,他們也共享相同的數據庫,因此從任何一個用戶註冊一個用戶都將訪問同一個數據庫中的相同表。通過RIA Services跨asp.net mvc 3網站和silverlight 4商業應用程序共享身份驗證

我想要做的是在MVC 3網站上託管Silverlight商業應用程序,並在兩者之間共享認證。這意味着該網站將有一個啓動Silverlight應用程序的鏈接,所以如果我通過網站登錄並啓動Silverlight應用程序,我希望Silverlight應用程序知道我已經登錄。

或者,我希望能夠將Silverlight應用程序作爲獨立的桌面應用程序啓動,並通過RIA服務登錄到那裏。這部分我已經可以做了,但我需要保持這一點。

有沒有人有任何好主意如何在MVC 3網站上託管Silverlight商業應用程序並共享身份驗證?有沒有辦法將創建業務應用程序時生成的默認Web應用程序轉換爲MVC 3 Web應用程序,並且可能會這樣做?即使網站不能是MVC,也可以進行身份​​驗證共享嗎?

對不起,複雜的描述,任何幫助表示讚賞。我真的很難找到任何教程或例子,我認爲這是一個普遍的願望。

回答

1

如果您的Silverlight應用程序最初是爲了處理登錄而開發的,那麼您應該不會遇到這樣的問題。您可以從ASP.NET MVC3應用程序(FormsAuthentication.SetAuthCookie)進行身份驗證,並擁有託管Silverlight應用程序的視圖。當SL應用程序啓動時,它的一部分過程是檢查WebContext.Current.User.IsAuthenticated是否會從那裏接管,如果用戶已經通過身份驗證,您的SL應用程序應該繞過它的登錄。

在ASP.NET MVC3應用程序中,您可以在託管SL插件的視圖的控制器上粘貼[授權]。除非用戶通過身份驗證,否則不會顯示此視圖。

+0

這是最近討論這個主題的一個主題。 http://forums.silverlight.net/forums/p/232823/570994.aspx#570994 –

相關問題