Я некоторое время сражаюсь с этим. У меня есть приложение CakePHP 2.0, для которого требуется аутентификация, из-за того, что он должен быть на другом языке, я отошел от автомата «Пользователь» с помощью соглашения «Имя пользователя» и «Пароль» и сделал свою собственную таблицу базы данных:CakePHP 2.0 Auth Войти не работает
utilizatori('id', 'nume', 'parola')
В моем AppController я следующее определил, который, если я правильно понял, следует переопределить ассоциации CakePHP по умолчанию и сделать его использовать мою новую структуру:
class AppController extends Controller {
var $components = array('Session',
'Auth' => array('Form' => array(
'userModel' => 'Utilizator',
'fields' => array('username' => 'nume', 'password' => 'parola'),
'loginAction' => array('controller' => 'utilizatori', 'action' => 'login'),
'loginRedirect' => array('controller' => 'categorii', 'action' => 'admin_index'))));
function beforeFilter() { }
}
В моем UtilizatoriController у меня есть следующий логин марихуана nction:
function login()
{
$this->layout = 'admin';
debug($this->data);
debug(Security::hash($this->data['Utilizator']['parola']));
debug($this->Auth->login());
/*more here but don't think it's important*/
отладкаданных поступает с ожидаемыми значениями, давайте предположим:
**data['Utilizator']['nume']** = 'Cosmin'
**data['Utilizator']['parola']** = 'Cosmin'
хэш пароля отладка дают ожидаемый хэш, который я также вручную вставить в базе данных и но функция входа возвращает false.
Я не уверен, что делать дальше, и любая обратная связь будет оценена по достоинству. Кроме того, есть ли способ получить доступ к тому, что отправлено на $ this-> Auth-> login()?
Спасибо