我目前正在使用1.24.x并使用LoginForm类和FauxRequest登录远程(如果它不存在则在本地创建)但是这个功能在1.27.x中被删除所以我被迫写了一个使用AuthManager和SessionMamager的新标准。一旦LTS版本问世,我也将升级到1.31。 在阅读,AuthManager和SessionManager时,我无法理解如何对外部用户进行身份验证。我还查看了使用PluggableAuth的扩展pluggableSSO,但也无法理解它。 有人可以指出一个直截了当的例子,说明如果我有用户ID和用户名,我该如何验证用户?如果该用户不存在,我该如何创建一个并在本地验证它们?
由于
答案 0 :(得分:0)
如果像我这样对MediaWiki很新的人,有一个名为PluggableAuth和Auth_Remoteuser的SSO解决方案。 我选择了基于AuthManager实现的PluggableAuth,它非常容易集成。 我们需要的是定义一个全局变量$ PluggableAuth_Class并在其中实现以下方法:
public function authenticate( &$id, &$username, &$realname, &$email, &$errorMessage )
public function saveExtraAttributes( $id )
public function deauthenticate( User &$user )
更多信息可在以下网址找到: PluggableAuth