Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Не удаётся автризоваться
http://forum.kohanaframework.su/viewtopic.php?f=33&t=395
Страница 1 из 1

Автор:  devenge [ 05 окт 2012, 19:43 ]
Заголовок сообщения:  Не удаётся автризоваться

Не удаётся авторизоваться. Как я понял, не получается выполнить такой код $auth->login('username','password'). Как можно исправить?
версия: Kohana 3.2

Код:
if( Auth::instance()->logged_in() )
{
    echo 'Добро пожаловать, '.Auth::instance()->get_user()->username.'!';
}
else
{
    $auth = Auth::instance();
    if( $auth->login('username','password') )
        echo 1;
    else
        echo 0;
    // выводит "0"
}



// modules/auth/config/auth.php
 
return array(
    'driver'       => 'orm',
    'hash_method'  => 'sha256',
    'hash_key'     => 'any text',
    'lifetime'     => 1209600,
    'session_type' => Session::$default,
    'session_key'  => 'auth_user',
    'users' => array(),
);

Автор:  Sergey [ 06 окт 2012, 01:54 ]
Заголовок сообщения:  Re: Не удаётся автризоваться

а что такое 'username' и 'password'? мб. это имелось ввиду: $_POST['username']?

Автор:  devenge [ 06 окт 2012, 01:58 ]
Заголовок сообщения:  Re: Не удаётся автризоваться

так нельзя сделать? $auth->login('username','password') то есть только через $_POST?

Автор:  Sergey [ 06 окт 2012, 02:01 ]
Заголовок сообщения:  Re: Не удаётся автризоваться

Так что это такое 'username'? Имя поля, форма, логин?
Можно, как вы спрашиваете, только если вот так $auth->login('admin','123'), где admin - логин, а 123 - пароль.

Код:
  public function action_signin()
  {
    $content = View::factory('sign/signin')->bind('errors', $this->errors);

    // check request method
    if ($this->request->method() === Request::POST)
    {
      // validate
      $post = Validation::factory($_POST)
            ->rule('username','not_empty')
            ->rule('password','not_empty');

      if ($post->check())
      {
        //echo Debug::vars($post['password']);exit;
        $status = $this->_auth->login($post['username'], $post['password']);

        // if logins OK
        if ($status)
        {
          // if destination key exists
          $redirect = $this->_session->get('destination') ? $this->_session->get('destination') : NULL;
          if (! is_null($redirect))
          {
            // delete destinaion session data
            $this->_session->delete('destination');
            // redirect to destination
            $this->request->redirect($redirect);
          }
          $this->request->redirect('/');
        }
        else
        {
          $this->errors[] = 'Неверный логин или пароль!';
          $content->bind('username', $_POST['username']);
        }
      }
      else
      {
        $this->errors = $post->errors('models/user', TRUE);
      }
    }

    $this->template->title = 'Авторизация';
    $this->template->content = $content;
  }

Автор:  Rush64 [ 08 окт 2012, 12:46 ]
Заголовок сообщения:  Re: Не удаётся автризоваться

вот мне интересно увидеть ваш контроллер, расширяющий Controller_Template?

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/