我们已经创建了一个高度定制的基于Joomla 1.5的网站,并希望我们的超级管理员能够登录注册用户帐户,这样我们就可以提供更好的电话支持并帮助他们远程配置他们的帐户。
这显然需要一些编码。理想情况下,我们需要管理端的链接,将我们带到前端,并自动以注册用户身份登录。我们会用IP地址锁定它,也有一些密码。
登录处理在哪里?看起来/components/com_user/controller.php调用了一个名为$ mainframe的函数 - >登录();该功能在哪里?
我们的想法是发送一个模拟登录表单以及一个额外的超级用户密码字段。然后,如果密码存在且IP地址正确,我们将修改登录代码以授权登录。
这种做法有任何智慧或谨慎的言论吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
您需要构建一个身份验证插件来处理此问题。您可以根据需要启用任意数量的身份验证插件(核心插件,OpenID,您自己的插件等)。 Joomla将运行已启用插件的列表,直到其中一个将status
对象的$response
变量设置为JAUTHENTICATE_STATUS_SUCCESS
。 $response
对象会传递到插件的onAuthenticate
方法。请查看plugins/authentication/example.php
以获得明确的示例。您可能最终会克隆plugins/authentication/joomla.php
并根据您的需要重新定位它。
我会在核心Joomla身份验证插件之后发布您的自定义插件,以便普通用户能够更快地登录。
此外,如果您确实想要使用表单,则需要构建一个小组件,以便可以在请求中获取用户名和超级用户密码。