2013-12-10 30 views
0

我試圖讓Sitefinity與MVC和jQuery Mobile的工作,遇到了很多問題....Sitefinity MVC外部認證

目前的問題是,我需要有用戶進行身份驗證的應用程序的訪問部件。此認證需要使用外部服務,登錄到前端的用戶將不在Sitefinity用戶羣中。我還需要有能夠登錄到後端以更新內容的用戶,這些用戶將由Sitefinity管理。

爲了保護MVC中的頁面,我在控制器上添加了一個授權屬性。這需要確認前端用戶已被外部服務認證,但仍允許登錄到後端的用戶能夠更新內容。

這是行不通的,當我用前端的authorize屬性打開頁面時,它試圖帶我到sitefinity登錄。有沒有人找到一種方法來完成這項工作?

回答

1

好吧,我有辦法現在就這樣做,但我並不是所有與該興奮它...

我聽到從Sitefinity的支持回來,並有幾種不同的方式來做到這一點。

1)創建我自己的自定義AuthorizeUser屬性,當我通過cookie的會話進行身份驗證時,保存值,檢查屬性上的值...基本上自己重寫所有身份驗證功能。 - 我真的很想保持Authenticate功能,所以我不認爲我會這樣做。

2)創建一個自定義成員資格提供程序,將其作爲有效的成員資格提供程序添加到Sitefinity後端。如果我想將我的用戶存儲在數據庫中並驗證/更新它們,這將是一個很好的解決方案。但是,我只是針對服務進行驗證。

3)在Sitefinity後端創建一個虛擬用戶,但沒有訪問權限,也沒有後端訪問權限或管理員訪問權限。在對我的服務進行身份驗證後,如果一切正常,請從代碼登錄到此用戶。在此之後[Authenticate]屬性發現該用戶已登錄,因此一切都很好。由於我不需要在我的應用中檢查角色或聲明,只是該用戶已登錄,這可能會起作用。對我來說這看起來相當醜陋,但我確信,只要用戶沒有後端訪問或管理員訪問權限,它就不會計入併發用戶,並且許多許多用戶可以以同一用戶身份登錄。

我會繼續選擇3,看看它是如何發展的,以及是否可以通過架構團隊。

這裏是我發現了更多的一些信息選項3的鏈接...

http://www.sitefinity.com/developer-network/forums/sitefinity-sdk/custom-authentication

0

James! 不確定,但我認爲您的第三方服務應使用Sitefintiy單一登錄。

也許對如何設置Sitefinity單點登錄下面的幫助主題將是有益的:

http://www.sitefinity.com/documentation/documentationarticles/authentication-models-overview

+1

謝謝大家的響應。不幸的是,我無法控制我所稱的服務,無法做到這一點。我有一個支持問題到Sitefinity這個問題,並會更新問題何時/如果我知道這一點。 –