【发布时间】:2017-04-19 14:44:07
【问题描述】:
我有一个现有的应用程序,它有自己的用户表。我想将 phpBB 3.1 添加到应用程序中,但问题是如何在不将所有用户功能移动到 phpBB(通过整个站点集成)并且不为同一用户集维护单独的用户表(在 phpBB 中自动创建用户)的情况下做到这一点)。
是否有一种相对简单的方法可以将 phpBB 指向现有的用户表以进行论坛登录?
【问题讨论】:
标签: authentication phpbb3
我有一个现有的应用程序,它有自己的用户表。我想将 phpBB 3.1 添加到应用程序中,但问题是如何在不将所有用户功能移动到 phpBB(通过整个站点集成)并且不为同一用户集维护单独的用户表(在 phpBB 中自动创建用户)的情况下做到这一点)。
是否有一种相对简单的方法可以将 phpBB 指向现有的用户表以进行论坛登录?
【问题讨论】:
标签: authentication phpbb3
对于旧版本,此 wiki page 帮助我实现了外部提供程序。
在3.1 版本中,phpBB/includes/auth/ 目录已移至phpBB/phpbb/auth/provider 并有一个new documentation chapter。
您可以通过扩展\phpbb\auth\provider\base 并实现provider_interface 来创建自己的提供程序。
这是一个good template 与您自己的表复制。这是内部标准数据库提供程序。
要声明您将创建的新提供者,最好的做法是创建一个扩展并注入您的新扩展。例如,这里是github project。它声明了社交网络的外部提供者。必须将提供程序添加到 services.yml,就像在所有 Symfony 项目中一样。
如果您不想创建扩展程序,(这不是一个好的做法)您可以通过添加自己的提供程序来编辑 services_auth.yml file:
services: #do not add this line
auth.provider.db2:
class: acme\demo\auth\provider\db2
arguments:
- '@dbal.conn'
tags:
- { name: auth.provider }
【讨论】: