stripUsernameRegexp = $config->get('strip_username_regexp'); } /** * Set this backend's name * * @param string $name * * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * Return this backend's name * * @return string */ public function getName() { return $this->name; } /** * Authenticate the given user * * @param User $user * @param string $password * * @return bool True on success, false on failure * * @throws AuthenticationException In case authentication is not possible due to an error */ public function authenticate(User $user, $password = null) { if (isset($_SERVER['REMOTE_USER'])) { $username = $_SERVER['REMOTE_USER']; $user->setRemoteUserInformation($username, 'REMOTE_USER'); if ($this->stripUsernameRegexp) { $stripped = preg_replace($this->stripUsernameRegexp, '', $username); if ($stripped !== false) { // TODO(el): PHP issues a warning when PHP cannot compile the regular expression. Should we log an // additional message in that case? $username = $stripped; } } $user->setUsername($username); return true; } return false; } }