. */ namespace SP\Auth\Browser; use SP\Auth\AuthInterface; use SP\DataModel\UserData; /** * Class Browser * * Autentificación basada en credenciales del navegador * * @package SP\Auth\Browser */ class Browser implements AuthInterface { /** * Autentificar al usuario * * @param UserData $UserData Datos del usuario * @return BrowserAuthData */ public function authenticate(UserData $UserData) { $AuthData = new BrowserAuthData(); $AuthData->setAuthenticated($this->checkServerAuthUser($UserData->getUserLogin())); return $AuthData; } /** * Comprobar si el usuario es autentificado por el servidor web * * @param $login string El login del usuario a comprobar * @return bool */ public function checkServerAuthUser($login) { $authUser = $this->getServerAuthUser(); return $authUser === null ?: $authUser === $login; } /** * Devolver el nombre del usuario autentificado por el servidor web * * @return string */ public function getServerAuthUser() { if (isset($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['PHP_AUTH_USER'])) { return $_SERVER['PHP_AUTH_USER']; } elseif (isset($_SERVER['REMOTE_USER']) && !empty($_SERVER['REMOTE_USER'])) { return $_SERVER['REMOTE_USER']; } return null; } }