Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Компонент Auth

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 30 Авг 2009 14:17:04    Заголовок сообщения: Компонент Auth Ответить с цитатой

Решил сделать авторизацию на сайте как описано вот тут http://book.cakephp.org/view/172/Authentication.

То есть есть таблица users с полями username и password,
Контроллер Users и его методы isAuthorized, login(пустой) и logout.

Код:

function isAuthorized() {
        return true;     
}


Код:

function logout () {
      $this->redirect ( $this->Auth->logout () );
}



Вид login:
Код:

<?php
   if ( $session->check ( "Message.flash" ) )
      $session->flash ();
   
   if ( $session->check ( "Message.auth" ) )
      $session->flash ( "auth" );
   
   echo $session->read ( "Auth.user" );
   
   
echo $form->create ( array ( 'controller' => 'users', 'action' => 'login' ) );

?>

Name:

<?php echo $form->input ( 'User.username', array ( 'size' => 64, 'label'=>false ) ); ?>

Password:

<?php
echo $form->password ( 'User.password', array ( 'size' => 64, 'label' => false ) );

echo $form->submit ( 'Login' );
?>


Пытаемся логинится - вводим логин и пароль (существующего пользователя с хешированным паролем sha1), получаем:
Login failed. Invalid username or password.

Решил посмотреть какие данные приходят в login, добавил такое:
Код:

$this->set ( "data", $this->data['User'] );

И в вид соответственно:
Код:
var_dump ( $data );

Что показало мне: array(2) { ["username"]=> string(4) "test" ["password"]=> NULL }

Dedug сообщает что был выполнен вот такой запрос к базе:
Код:

SELECT `User`.`id`, `User`.`username`, `User`.`password` FROM `users` AS `User` WHERE `User`.`username` = 'test' AND `User`.`password` = '20ec9b017e09672c62365b1374f3d42322d05cca' LIMIT 1

Объясните мне почему password = null ??? Где он теряется??? с моей стороны с $this->data['User']['password'] в контроллере никаких действий не производится.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mayar

цитировать



Зарегистрирован: 03 Апр 2009 15:52:14
Сообщения: 24

СообщениеДобавлено: 09 Сен 2009 10:48:41    Заголовок сообщения: Ответить с цитатой

А ты настроил сам компонент Auth?

app_controller.php

Код:

<?php
class AppController extends Controller {
    var $components = array('Acl', 'Auth');

    function beforeFilter() {
        //Configure AuthComponent
        $this->Auth->authorize = 'actions';
        $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
        $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
        $this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'add');
    }
}
?>



Делай прямо по шагам:

http://book.cakephp.org/view/643/Preparing-to-Add-Auth
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru