1

我目前正在將構建於Sharepoint 2007上的企業內容管理系統遷移到Sharepoint 2010.系統包含基於自定義表單的身份驗證提供程序和自定義角色提供者。用戶角色的映射被存儲在DB象下面這樣:Sharepoint 2010 - 如何訪問網站請求身份驗證的URL到自定義角色提供商

用戶ID角色ID SITEURL


21 15 www.sitea.com

21 10 www.siteb.com

22 15 www.sitea.com

在角色提供者中,分配給當前站點的角色是通過站點URL獲取和設置的。這可以通過在其Initilize方法中設置角色提供程序的自定義屬性(例如,名爲SiteURL的屬性)來解決,如下所示:

SiteURL = SPContext.Current.Web.Url;

但是,在Sharepoint 2010中,該行無法再使用。因爲在Sharepoint 2010中聲明授權,所以在名爲SecurityToken Web服務的單獨Web服務中調用自定義角色提供程序。所以SPContext.Current爲空。

現在我必須找到一種替代方法來獲取請求身份驗證的站點URL。你會提供任何建議嗎?

回答

0

它會爲每個域名設置不同的角色嗎?

假設您爲汽車經銷商提供了服務,並且每個經銷商都有獨立的域名和不同的角色(即一個經銷商的'經理'角色中的用戶不應具有另一經銷商的'經理'角色,因爲他們是兩個獨立的公司,擁有不同的管理結構)。您可以擁有hensonford.com的Manager_HensonFord角色,以及charlesford.com的Manager_CharlesFord角色。

它不起作用,你能給我們更多的背景知道它用於什麼嗎?

+0

那麼我正在開發的系統是爲了託管我國的一個部門的所有組織單位的網站而開發的。所有這些單位將擁有自己的sp site收集和託管單位數量將超過500個。系統在表單身份驗證背後有自己的驗證數據庫例如。假設我已經註冊到站點A併爲角色X分配了該站點。我也有權登錄到剩餘的網站,但不是角色X.你的解決方案,但我希望有一個更「適當」的,因爲它會創建大量的「SiteA_NewsPoster」等角色。 – mbulutay 2010-11-08 12:42:00

相關問題