我们目前正在将一部分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域中(它们在物理上彼此相邻)。当前系统的源代码可供我们使用,并且可以进行修改。