我們目前正在將一部分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域中(它們在物理上彼此相鄰)。當前系統的源代碼可供我們使用,並且可以進行修改。