2013-02-17 7 views
0

Kohana: Когда я использую модуль Auth, получаю ниже упомянутую ошибку: Действительный ключ хэша должен быть установлен в вашей конфигурации auth.Kohana: Auth hash key issue в Kohana 3.2

код, который называют это:

public function hash($str) 
{  
if (! $this->_config['hash_method'])   return $str;   
if (! $this->_config['hash_key'])   
throw new Kohana_Exception('A valid hash key must be set in your auth config.');   
return hash_hmac($this->_config['hash_method'], $str, $this->_config['hash_key']); 
} 

здесь я могу видеть, что hash_key не идет должным образом, когда я удалить это проверить все работает отлично. Не могли бы вы помочь понять, в чем проблема?

Я использую Auth :: instance() -> login ("userid", "password");

+1

Вы установили хэш-ключ в свой конфиг, как он говорит? – zombor

+0

Как мы можем установить хэш-ключ, не могли бы вы направить меня в правильном направлении? Также я использую активную запись Kohana вместо ORM, поэтому как мне нужно устанавливать роли с деталями пользователя? любая ссылка, которая может в этом помочь? Заранее спасибо. –

ответ

1

В вашем файле конфигурации auth (если у вас его нет, поместите его здесь ./application/config/auth.php), вам нужно определить хэш-ключ. Используйте случайную строку. Пример:

<?php defined('SYSPATH') or die('No direct access allowed.'); 

return array(

    'driver'  => 'ORM', 
    'hash_method' => 'sha256', 

    // This is the important line 
    'hash_key'  => 'seilrrskj34sljusd', 
    'lifetime'  => 1209600, 
    'session_type' => Session::$default, 
    'session_key' => 'auth_user', 

    // Username/password combinations for the Auth File driver 
    'users' => array() 

); 
+0

Большое спасибо, это сработало. –