1

我创建了一个 joomla 插件来像普通的 joomla 身份验证一样进行身份验证,(目的是:我在 joomla 之上使用 civicrm,所以基于 civicrm 成员身份我想为该用户更新 joomla 用户组)。它在普通的 joomla 和 Civicrm 版本(2.5.24)上运行良好。

当我在现有客户端站点(2.5.20)上尝试相同的插件时,它使用 joomla 默认身份验证而不使用我的插件进行身份验证。我已经安装了我的插件并启用了它。但它没有选择我的身份验证插件。

有趣的是,当我输入错误的用户名或密码时,它会进入我的插件“onUserAuthenticate”方法。我怎样才能让我的插件的“onUserAuthenticate”方法一直有效..

感谢您的宝贵支持!!

4

1 回答 1

3

我认为 Joomla 验证用户的方式是它使用所有启用的身份验证插件来验证您的用户名/密码。

如果您希望您的插件一直工作,您可以禁用其他插件。所以Joomla总是会落入你的onUserAuthenticate方法。但请注意:这仅在您的站点不需要任何其他身份验证插件时才有效

来自 joomla 文档

为了成功进行身份验证,只需其中一个插件需要返回JAUTHENTICATE_STATUS_SUCCESS结果。

参考:https ://docs.joomla.org/J3.x:Creating_an_Authentication_Plugin_for_Joomla#Wrapping_it_All_Up_and_Using_It

我曾经请求建立一个 joomla 站点,但客户只希望 Joomla 管理员登录到管理站点,在前端,只有 api 用户可以登录。我所做的是禁用 Joomla 上的所有身份验证插件并创建自己的插件,该插件将检查用户是在前端还是后端。我使用 joomla 代码进行后端登录,我的代码用于前端登录。

它完美地工作。

于 2015-03-17T10:10:59.737 回答