2013-06-18 2 views
0

Я пытаюсь получить логин работать в Кохана, но до сих пор не удается зарегистрировать пользователя в.Kohana модуль аутентификации не Loging пользователей

Я был успешно способен создавать новых пользователей, так что у меня есть все настроенные таблицы.

Мой взгляд на страницу входа в систему выглядит следующим образом,

<td style="vertical-align:top"> 
      <div id="log_in"> 
       <form class="pure-form pure-form-stacked" action="/kohana-blog/index.php/signup/login" method="post"> 
        <fieldset> 
        <legend>Log In</legend> 

        <label for="username">Username</label> 
        <input id="username" name="username" type="text" placeholder="nonamedude" required> 

        <label for="password">Password</label> 
        <input id="password" name="password" type="password" placeholder="Password" required> 

        <label for="remember" class="pure-checkbox"></label> 
        <input id="remember" type="checkbox"> Remember me 
        <br> 

        <button type="submit" class="pure-button notice">Log In</button> 
        </fieldset> 
       </form> 
      </div> 
     </td> 

Мой контроллер выглядит следующим образом

$this->template->content = View::factory('signup/home') 
      ->bind('message', $message); 

     if (HTTP_Request::POST == $this->request->method()) 
     { 

      $remember = array_key_exists('remember', $this->request->post()) ? (bool) $this->request->post('remember') : FALSE; 
      $remember = FALSE; 
      $user = Auth::instance()->login($this->request->post('username'), $this->request->post('password'), $remember); 
      if ($user) 
      { 
       Request::current()->redirect('signup/home'); 
      } 
      else 
      { 
       $message = "login failed"; 
      } 
     } 

Я не могу понять, почему он не выполняет проверку подлинности пользователя. Мой auth.php выглядит следующим образом:

'driver'  => 'orm', 
    'hash_method' => 'sha256', 
    'hash_key'  => 'somerandomstring', 
    'lifetime'  => 1209600, 
    'session_type' => Session::$default, 
    'session_key' => 'auth_user', 

Кроме того, roles_users таблица имеют правильные значения и таблицы пользователей есть данные из формы.

Есть ли способ отладить это, чтобы найти источник проблемы?

+0

Как вы создали пользователя во-первых? Вы использовали Kohana или вставили непосредственно в БД? – matino

+0

Я использовал Kohana, просто интересно, есть ли способ отладить его, поэтому я знаю, почему он не регистрирует пользователей в – Siva

ответ

1

Прежде всего убедитесь, что ваш пользователь имеет login роль, назначенная в таблице roles_users.
По умолчанию вы не сможете войти в систему, если у вас нет этой роли.
КПП. чище писать:

$post = $this->request->post(); 
$user = Auth::instance()->login($post['email'], $post['password'], isset($post, 'remember')); 
Смежные вопросы