Доброго времени суток. Не совсем понимаю, кому мы, что возвращаем и зачем?
Вот класс, который не пускает не залогиненых пользователей на странички:
<?php defined('SYSPATH') or die('No direct script access.');
class SecurityController extends Controller_Template {
public function before(){
$session = Session::instance();
$session->set('auth_redirect', $_SERVER['REQUEST_URI']);
$auth = Auth::instance();
if (!$auth->logged_in())
{
Controller::redirect('auth');
}
return parent::before();
}
}
Я понимаю, что если не залогинен, нас редиректит на страницу авторизации, но зачем мы что-то еще возаращем я не понимаю...
На всяких случай класс авторизации:
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Auth extends Controller_Template {
public $template = 'base';
public function action_index()
{
$auth = Auth::instance();
$data = array();
if ($auth->logged_in())
{
Controller::redirect('');
}
else
{
if (isset($_POST['btnsubmit']))
{
$login = Arr::get($_POST, 'login', '');
$password = Arr::get($_POST, 'password', '');
if ($auth->login($login, $password))
{
$session = session::instance();
$auth_redirect = $session->get('auth_redirect','');
$session->delete('auth_redirect');
Controller::redirect($auth_redirect);
}
else
{
$data['error'] = true;
}
}
}
$this->template->content = view::factory('authview',$data);
}
public function action_hpass() {
$auth = Auth::instance();
$this->template->content = $auth->hash_password('admin');
}
public function action_logout() {
$auth = Auth::instance();
$auth->logout();
Controller::redirect('auth');
}
}