2009-11-12 32 views
0

我們目前正在將一部分Intranet應用程序遷移到MojoPortal(一個開源的cms應用程序)。 MP默認使用FormsAuth,我們已將其設置爲對我們當前的Active Directory存儲進行身份驗證。FormsAuthentication.SetAuthCookie通過服務(或其他遠程方式)

所有這一切都表明,我們希望自動將用戶從當前系統登錄到新系統以創建無縫體驗。新系統(mojo)位於與當前系統不同的服務器上。兩個都位於同一個「company.com」域中,具有不同的子域。

Mojo,通過在用戶通過mojo界面登錄時創建的FormsAuthentication cookie來檢查身份驗證。我們正在尋找遠程重新創建此功能。我意識到FormsAuth基於MachineKey並且位於單個IIS Web實例內,但對社區可能擁有的任何想法感到好奇。

我們已經想出了這裏的當前「最好」的猜測是:

創建一個生活在魔力網站的虛擬目錄下一個WCF Web服務,接受用戶名/密碼和創建的cookie。這是未經測試的,因爲我們不確定這是否會影響客戶。

將用戶重定向到mojo下面的中間頁面,該中間頁面接受用戶名/密碼並創建cookie,然後再將用戶重定向到所需的mojo頁面。

這確實使用MojoPortal作爲提供者,但真正的問題是如何遠程創建FormsAuthentication cookie。

其他背景資料:

當前系統已經驗證針對相同的廣告存儲,所以在對於那些不存在的用戶創建的cookie無關。兩臺服務器位於同一個AD域中(它們在物理上彼此相鄰)。當前系統的源代碼可供我們使用,並且可以進行修改。

回答

0

如果我理解正確,您正試圖在您的遺留系統和mojo之間進行單點登錄?我過去做過類似的事情。我們的遺留系統創建一個身份驗證令牌並將其傳遞給第二個系統。然後,Web服務調用返回到遺留系統以驗證令牌(您將需要添加一些規則來確定令牌的真實性,例如:一次性使用,超時等)。如果遺留系統驗證令牌,則設置cookie。

FormsAuthentication.SetAuthCookie(,真)

從那裏重定向回你的魔力主頁。

相關問題