eZPublish 5 - 自定义用户身份验证(多重因素)

时间:2017-03-12 19:20:51

标签: php content-management-system ezpublish

我们有eZPublish 5.身份验证由用户内核模块kernel/user/login.php处理。尝试访问需要身份验证的siteaccess时,会调用此PHP脚本。

示例场景:

尝试访问http://example.com/marketing

它将我(未登录时)重定向到http://example.com/marketing/user/login

这是预期的行为。

我想要实现的是重写kernel/user/login.php文件,最好保持网址相同(这不是强制性的)。

我需要这样做因为我需要集成Duo Security Multifactor Authentication,所以我需要以自定义方式处理登录。

所以在第一页上我需要显示登录表单,然后在提交时我需要验证凭据是否正确(但在此阶段没有登录用户)然后我需要返回iframe的另一个视图用于第二次身份验证,当第二次身份验证成功后,我可以登录用户并将他/她重定向到所需的页面。

有什么方法可以做到这一点吗?我尝试使用模块user创建扩展并查看login.php但它不起作用 - 用户内核login.php始终在http://example.com/marketing/user/login被命中时执行。

我现在试着这几天,但没有运气,我没有想法。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

欢迎来到eZ社区!

您想要/需要的是可能的并且非常简单地实现:)

首先根据您的描述我推荐以下内容:

https://github.com/brookinsconsulting/bckernelmoduleoverride

  • 注意:我们前一段时间忘记打包并发布此扩展程序,但已将其作为我们的开源ezpedia.org代码库的一部分使用。我们感谢您提醒我们并提示我们将代码打包以供个人使用。

关于双重身份验证,我们做了类似的事情但实际上与此解决方案完全不同:

https://github.com/brookinsconsulting/bcconfirmpassword

现在将代码共享放在一边。您可能希望首先研究提供多种形式的自定义用户身份验证系统的登录处理程序系统。 https://en.ezpedia.org/en/ez/login_handler

然而,从你的描述和我们的一些直觉来看,真的听起来没有更多的信息你很需要覆盖默认的用户/登录模块视图(我们称之为内核模块视图复制覆盖;复制默认值模块和自定义扩展模块中的代码。对于特殊的客户使用案例,我们已经做了很多 - 并且它并不是很难。

大多数情况下,困难的部分是让所有模块和模块视图标识符在模块扩展中不会冲突一次,如果您只是使用/利用提供的bckernelmoduleoverride扩展,我们认为这对您来说不会有什么问题。用于使用在模块视图扩展中定制的默认内核模块和模块视图。

请随时提出进一步的问题或分享有关您尝试集成的自定义身份验证系统的详细信息。这个时代的框架听起来像是一个痛苦的系统,需要为二级认证系统实施。

我们希望这有帮助!

注意:此帖子是从http://share.ez.no/forums/ez-publish-5-platform/ezpublish-5-custom-user-authentication-multifactor

交叉发布的