gpt4 book ai didi

php - 通过两个独立的 joomla 站点进行 Joomla 身份验证

转载 作者:搜寻专家 更新时间:2023-10-31 21:38:01 25 4
gpt4 key购买 nike

我有两个 Joomla 2.5 网站,它们都是分开工作的。现在我想将登录用户从第一个网站的一个页面重定向到第二个网站的另一个页面。

我需要第二个网站来识别用户名和密码。(我刚刚检查过两者的 md5-hex 密码是否可以一起使用)。用户注册到两者,意味着在两个用户数据库中具有相同的用户名和密码。我尝试使用一些 php 命令,如“HTTPResponse::redirect”和一些 joomla 组件来执行此操作,但它不起作用。

最佳答案

希望你也能这样工作。

当用户登录第一个网站时,您必须从该网站重定向到第二个网站。

首先当用户登录您的第一个站点时,您应该保留该用户密码和用户名。您将获得带有 $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 表单 token 如果第一个站点 token 在第二个 joomla 站点中接受,那么你的工作就完成了!否则你无法实现这一目标。

希望这对你有帮助..

关于php - 通过两个独立的 joomla 站点进行 Joomla 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com