2011-12-22 71 views
2

我需要关于单点登录解决方案最佳方法的建议。单点登录最佳方法建议

基本上我正在处理2个已经投产的网站。网站A是.net paiedr与SQL,而网站B是PHP与MySQL配对。

我想一个快速而肮脏的方式来创建一个单一的登录,将导入现有的用户从网站A到网站B,反之亦然。然后,我会在注册脚本中添加一些额外的代码,这样如果新会员在网站A中注册,则新帐户将被插入到两个数据库中。同为站点B

我将不胜感激替代建议..谢谢

+0

SQL = MSSQL我想? – TimWolla 2011-12-22 21:38:41

+0

@TimWolla。一定是。 – 2011-12-22 21:40:25

+0

这些物理上是分开的网站吗? – Glenn 2011-12-22 21:41:37

回答

0

一般来说你不想有维持2个数据集,在任何一点上,他们会得到不同步的,当你的应用程序错误或网络发生,最好的情况是将Site A用户映射到Site B,并在它们之间有一个像API这样的服务(确保您使用SSL),您将必须决定哪个站点将托管用户数据。

如果你决定在站点A,则:

如果用户在站点B上注册并创建一个新帐户,站点B发送数据到站点A,站点A保存到数据库,并成功到站点B回应,现在用户注册

用户在站点B上尝试登录,网站B发送用户的详细情况站点A,你现在将

登录成功,这是方法我会用。

0

通常情况下,您可以将站点A连接到站点B的SQL数据库,而反之亦然,因此您只需要真正使用这两个站点的1个数据库。

要插入两个不同的数据库,只需连接到每个数据库,然后执行查询。例如:

$mysql1 = array (
    'host' => 'host1.website.com', 
    'username' => 'host1_username', 
    'password' => 'host1_password', 
    'database' => 'host1_database' 
); 
$mysql2 = array (
    'host' => 'host2.website.com', 
    'username' => 'host2_username', 
    'password' => 'host2_password', 
    'database' => 'host2_database' 
); 

//insert into database 1 
$connection = mysql_connect($mysql1['host'],$mysql1['username'],$mysql1['password']); 
if($connection) { if(mysql_select_db($mysql1['database'])) { 
    $query = "INSERT INTO `tablename` VALUES ('blah','blah','blah!'); 
    if(mysql_query($query)) { 
     echo "Success in Database 1!"; 
    } else { 
     echo "Failure in Database 1."; 
    } 
} } 

//insert into database 2 
$connection = mysql_connect($mysql2['host'],$mysql2['username'],$mysql2['password']); 
if($connection) { if(mysql_select_db($mysql2['database'])) { 
    $query = "INSERT INTO `tablename` VALUES ('blah','blah','blah!'); 
    if(mysql_query($query)) { 
     echo "Success in Database 2!"; 
    } else { 
     echo "Failure in Database 2."; 
    } 
} } 

但我建议只使用1个数据库,并使两个网站连接到1数据库。

1

为什么两个站点BTW ?? 你不能整合到一个网站吗?

有效的解决方案..

选择任何一个解决方案.NET或PHP,因为跟踪每个和用户的每一个动作,你的脚本将在这两个网站为单个用户动作来执行。这不被认为是有效的,因为这是不必要的负担。所以要么牺牲.Net或PHP。

重定向站点A链接到站点B或反之亦然(取决于您的解决方案)

获得从MT(MEDIATEMPLE){不是做广告BTW;)}一个好的托管解决方案,使得其可管理/平衡流量是正在两个网站上收到。