【问题标题】:Joomla Authentication PluginJoomla 身份验证插件
【发布时间】:2014-09-09 10:07:21
【问题描述】:

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

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

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

感谢您的宝贵支持!!

【问题讨论】:

  • 如果您输入正确的用户名,psw 会发生什么?确保身份验证在同一服务器上的 joomla 之外工作。此外,您可能希望更改身份验证顺序,以便首先运行您的插件
  • 感谢您的回复伙伴。我想通了,它使用 joomla 默认authenticaiton 插件作为它的顺序中的第一个。快速询问。如何在我的插件旁边制作 joomla 验证插件?我已经给出了它的订单 1,并且 joomla 插件在 Gmail auth 插件之后。如果我的插件和 joomla 插件都给 0,那么 joomla 插件首先出现:(
  • “旁边”是指并行吗? - 这不可能,必须先来。
  • 不平行。在插件列表中..joomla 插件首先出现。我希望在我的插件之后订购它
  • 要重新排序,请单击列标题“ordering”,然后您会看到重新排序的箭头,或者您可以输入订单编号,然后单击列标题旁边的保存图标

标签: php authentication joomla civicrm


【解决方案1】:

我认为 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 代码进行后端登录,我的代码用于前端登录。

完美运行。

【讨论】:

  • 您可以按照您希望它们在插件管理器中执行的顺序放置插件。将 joomla 放在 civi 之后。
猜你喜欢
  • 2011-02-13
  • 2012-05-25
  • 1970-01-01
  • 2018-10-02
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多