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

eZPublish 5 - Custom user authentication (multifactor)

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

示例场景:

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

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

这是预期的行为。

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

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

所以在第一页我需要显示登录表单,然后在提交时我需要验证凭据是否正确(但在此阶段不登录用户)然后我需要 return 另一个视图,其中存在用于第二次身份验证的 iframe,只有在第二次身份验证成功后,我才能登录用户并将 him/her 重定向到所需页面。

有什么办法吗?我尝试使用模块 user 和视图 login.php 创建扩展,但它不起作用 - 用户内核 login.php 总是在点击 http://example.com/marketing/user/login 时执行。

我已经尝试了好几天了,但没有成功,而且我没有想法。

在此先感谢您的帮助。

欢迎来到 eZ 社区!

您想要/需要的是可能的,而且实施起来非常简单:)

首先根据你的描述推荐如下:

https://github.com/brookinsconsulting/bckernelmoduleoverride

  • 注意:我们之前忘记打包和发布此扩展,但一直将其用作我们开源 ezpedia.org 代码库的一部分。感谢您提醒我们并促使我们打包代码以供个人使用。

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

https://github.com/brookinsconsulting/bcconfirmpassword

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

然而,根据您的描述和我们的一些直觉,如果没有更多信息,您确实需要覆盖默认的 user/login 模块视图(我们称之为内核模块视图复制覆盖) ; 复制默认模块并在扩展模块中自定义代码)。我们已经为特殊的客户用例做了很多这件事,而且并不难。

大多数时候,困难的部分是让所有模块和模块视图标识符在模块扩展中不发生冲突,我们认为如果您简单地使用/利用 bkernelmoduleoverride 扩展,这对您来说将不是什么问题它提供了使用默认内核模块和在模块视图扩展中自定义的模块视图。

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

我们希望这对您有所帮助!

注意:此主题交叉发布自:http://share.ez.no/forums/ez-publish-5-platform/ezpublish-5-custom-user-authentication-multifactor