/** * Возвращает данные пользователя, если он авторизирован.<br/> * Иначе перенаправляет на страницу входа * @return string <p>Идентификатор пользователя</p> */ public static function checkLogged() { $dbh = Db::getConnection(); $config = new PHPAuth\Config($dbh); $auth = new PHPAuth\Auth($dbh, $config); if (!$auth->isLogged()) { header("Location: /user/login"); } $userHash = $auth->getSessionHash(); $userId = $auth->getSessionUID($userHash); return $user = $auth->getUser($userId); }
<?php require "../../config/config.php"; require "../../models/DB/Db.class.php"; $db = new Db(); $dbh = $db->getPurePodo(); include "../../models/PHPAuth/Config.php"; include "../../models/PHPAuth/Auth.php"; $config = new PHPAuth\Config($dbh); $auth = new PHPAuth\Auth($dbh, $config); if (!$auth->isLogged()) { header('HTTP/1.0 403 Forbidden'); echo "Forbidden"; exit; } else { echo "ok"; } // only work with vies/xx can't nested more than that
/** * Удаляем данные о пользователе из сессии */ public function actionLogout() { // Удаляем информацию о пользователе из сессии $dbh = Db::getConnection(); $config = new PHPAuth\Config($dbh); $auth = new PHPAuth\Auth($dbh, $config); if (!$auth->isLogged()) { header("Location: /user/login"); } $userHash = $auth->getSessionHash(); $auth->logout($userHash); header("Location: /user/login"); }