我目前有一个带有用户会话和phpBB讨论板的网站。我想合并网站和phpBB会话功能,以便如果用户登录主网站,我想自动创建phpBB会话。
我在互联网上找不到适合我需求的合适教程/示例——我只能以相反的方式找到示例。
是否有处理此问题的推荐方法?
强烈建议您不要将phpBB集成到自己的登录系统中,因为phpBB是一个复杂的软件(当然仍然是),并且不是很可扩展,但是自phpBB3以来,潮流已经发生了变化,它们使其更具可扩展性,那么有哪些选择呢?
身份验证插件(适用于 phpBB 3.0)
https://wiki.phpbb.com/Authentication_plugins
phpBB3 支持外部身份验证插件,可用于替换传统的基于数据库的用户身份验证,该身份验证仍可用作数据库身份验证方法。
这些插件在
includes/auth/
目录中作为可动态加载的 PHP 模块实现。每个模块都由其方法标识符标识。标识符用于模块名称,它是模块中声明的每个函数的后缀。要添加新的身份验证方法(我们称之为
foo
),您必须在includes/auth/
目录中创建源文件auth_method.php
(在我们的示例中auth_foo.php
)。此源文件应提供许多函数。身份验证模块中唯一的强制函数是login_method()
函数(在我们的示例中login_foo()
)。所有其他方法都是可选的。在
includes/auth/
目录中创建新的身份验证模块后,可以在"客户端通信/身份验证设置"下的"管理控制面板"中选择它作为所需的身份验证方法。
我无法找到此功能的工作示例,但通过一些编程知识,您应该能够构建自己的功能。
身份验证提供程序(适用于 phpBB 3.1+)
https://area51.phpbb.com/docs/dev/3.1.x/extensions/tutorial_authentication.html#authentication-providers(附示例)
phpBB 附带的身份验证提供程序至少需要两个文件:一个类和
phpBB/config/auth_providers.yml
文件中的条目。作为扩展的一部分而不是需要phpBB/config/auth_providers.yml
条目的身份验证提供程序除了提供扩展的所有正常要求外,还必须提供自己的 yaml 文件来定义服务。
关于身份验证提供程序的 phpBB Wiki 条目附带了一个示例,因此如果您的开发板使用的是 phpBB 3.1 或更高版本,我建议从该示例开始。