我有两个Joomla 2.5网站,两个都是分开工作的。现在我想将登录用户从第一个网站的一个页面重定向到第二个网站的另一个页面。
我需要第二个网站来识别用户名和密码。 (我刚刚检查过两者的md5-hex密码是否正在协同工作)。 用户注册到两者,意味着在两个用户数据库中都具有相同的用户名和密码。 我试图使用一些像“HTTPResponse :: redirect”这样的php命令和一些joomla组件来做到这一点,但它不起作用。
答案 0 :(得分:1)
我希望你能这样做。
当用户登录第一个网站并从该网站登录时,您必须重定向到第二个网站。
首先,当用户登录您的第一个站点时,您应该保留该用户密码和用户名。
您将获得带有$user->name
对象的用户名,但您无法获取描述的密码,因此应将其保留在某些位置(在安全空间中)。然后将这些保存到凭证并以隐藏形式设置返回URL。
然后,此隐藏表单的操作将提交给第二个站点。如果该joomla站点中存在用户帐户,您可以登录并重定向到给定的返回URL。
如果不是,则不会登录第二个站点。
您可以使用
获取用户详细信息$user = &JFactory::getUser();
隐藏的表格应该是这样的
The action should be second site full url.
the $your_return_url should be second site url
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post">
<input type="text" tabindex="1" " value="<?php echo $user_name?>" id="username" name="username" />
<input type="password" value="<?php echo $password?>" id="password" name="password" />
<input type="hidden" name="return" value="<?php echo base64_encode($your_return_url); ?>" /><?php echo JHtml::_('form.token'); ?>
</form>
根据操作,您可以将此表单提交给第二个joomla网站。 但这里有一个主要的东西是joomla形式令牌如果第一个网站令牌接受第二个joomla网站然后你的工作完成!否则你无法做到这一点。
希望这可以帮到你..