双重登录:一次登录,2台服务器

时间:2010-08-01 20:33:47

标签: javascript

好吧,这只是感觉很讨厌,但是我已经被指示这样做了,只是想让它经过一些真正有线索的人,所以他们可以指出它里面的所有大洞...... ..所以这里去......

我们有这个遗产网站&一个新的公开测试版。显然它是超级谷物,从一个到另一个是无缝的,所以从某种意义上说,我们需要一个单点登录解决方案。

由于我们不允许对遗留网站进行任何认真的开发(这也是旧式ASP,这是一种我不在乎的语言。)我无法做出正确的单点登录解决方案,所以我提出了以下建议:在登录时,旧网站向新测试站点的登录控制器执行AJAX帖子,将用户登录到那里,然后正常地继续在旧站点上登录。这可能是不可接受的,因为有防止用户登录两次的代码,我不确定它是否已被编写为跨站点应用。

我的另一个想法是在用户尝试访问第二个网站时,用他们的用户名传递用户详细信息的盐渍哈希。如果散列与用户的详细信息匹配,则授予访问权限。这显然需要ASP开发,因为在客户端生成哈希只会进一步增强白痴。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

如果需要登录,旧的ASP站点必须具有会话的一些概念。您至少需要了解如何向遗留站点提供会话信息,并将一些代码拼接在一起,以便在两个站点都需要无限期保持时保持协作。

如果你能读/写VB6,VBA,VBScript或VB.net,那么“经典”ASP并不是那么糟糕。如果代码是中等的,那么移植会话初始化可能并不困难。

考虑为两个站点创建一个公共登录页面+基于请求的URL的自动重定向(我猜测新旧站点有不同的URL)或者随请求传递的cookie(旧站点,如果它)使用过的cookie,可以识别传统用户)。此常用登录页面可以在旧站点(仅在用户类型需要时)和新站点上初始化会话。这将允许您保持新的登录过程不受遗留进程的影响,同时保持旧的只要需要。

答案 1 :(得分:0)

请记住,由于javascript security restrictions,如果网站位于不同的域中,您的第一种方法(从一个网站到另一个网站的AJAX请求)将无效。

你可以通过为帖子like this使用隐藏的iframe来解决这个问题,但是它会变得有点hacky。