Joomla身份验证插件


Joomla Authentication Plugin

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

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

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

感谢您的宝贵支持!!

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

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

来自joomla docs

为了成功进行身份验证,只有一个插件需要返回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代码用于后端登录,将我的代码用于前端登录。

它工作得很好。