В моей базе данных есть таблица пользователей, и одна запись - пользователь, пароль для этого хэшируется с помощью md5.
Проблема в том, что каждый раз, когда я пытаюсь войти в систему с правами администратора / пароль, я получаю неверный логин пользователя / пароль входа.
Вот мой контроллер:
class UsersController extends AppController {
var $name = 'Users';
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow(array('*'));
}
function login() {
//debug($this->data);
if ($this->Session->read('Auth.User')) {
$this->Session->setFlash('You are logged in!');
}
}
function logout() {
$this->redirect($this->Auth->logout());
}
}
и из appControler
class AppController extends Controller {
var $components = array('Auth', 'Session');
function beforeFilter() {
//debug($this->data);
//Security::setHash('md5');
$this->Auth->allow('admin_index', 'index', 'login', 'logout');
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'index');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'logout');
$this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'index');
}
}
login.ctp:
<div class="login">
<?
$session->flash('auth');
echo $form->create('User', array('action' => 'login'));
echo $form->inputs(array('legend' => __('Login', true), 'username', 'password'));
echo $form->end('Login');
?>
</div>
вот сообщения отладки из app_controller
Array
(
[User] => Array
(
[username] => admin
[password] => pass
)
)
и отладка сообщения от контроллера пользователя:
Array
(
[User] => Array
(
[username] => admin
[password] => 8e2665a3fe6983fa38464685ac4a3d9c93a3d301
//this is not empty anymore but it is not same as in database
)
)
Вот SQL-код, это хорошо, но хэш-пароль пользователя неверен.
SELECT `User`.`id`, `User`.`username`, `User`.`password`, `User`.`email`, `User`.`created` FROM `users` AS `User` WHERE `User`.`username` = 'admin' AND `User`.`password` = '09b98f2308740bf305ce1e1097d02ded' LIMIT 1
В чем может быть проблема? Я новичок в cakephp.
Tnx заранее