1

我目前正在尝试让一个自定义组件在给定用户名和密码的情况下将用户登录到后端。我意识到这可能存在固有的安全问题,但我真的很想回答我一直在努力解决的这个问题。这是我的controller.php中的代码:

function execute() {
    $credentials = array( 'username' => $this->username, 
        'password' => $this->password );
    $options = array();
    $options['group'] = 'Public Backend';
    $options['autoregister'] = false;
    $options['action'] = 'core.login.admin';
    $app =& JFactory::getApplication('administrator');
    $result = $app->login($credentials, $options);
    echo $result;
}

我读过的所有文档都说这应该可以工作(即使从非管理员上下文执行管理任务(例如登录到后端)并不完全符合犹太教规)。知道我没有得到什么吗?

编辑:我忘了提及我使用的是哪个 Joomla 版本:2.5.14

4

1 回答 1

1

我认为您需要注意通过用户和身份验证插件管理的 Joomla 身份验证/登录/授权流程和用户流程。从你所说的听起来你仍然会使用 Joomla 用户表,对吗?所以在这种情况下,Joomla 用户插件应该可以工作。

假设这是真的,您想要制作一个身份验证插件。此插件将与 joomla 身份验证插件和您可能正在运行的任何其他身份验证插件一起检查(例如记住我/cookie 登录)。

我不完全理解您要做什么(而且您还没有说您使用的是什么版本的 Joomla,这在这种情况下会有所不同),例如您是否真的想登录到完整的后端或您只是想以插入图像插件的方式显示一些屏幕吗?如果在 Joomla 3 上,您可能想查看 Google Summer of Code 项目,以将一些管理员带到前端(现在称为 com_services)。那个学生还有一个 http 登录插件,你可以看看。https://github.com/Buddhima/Joomla-HttpLogin-plugin

于 2013-09-13T03:30:28.063 回答