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

Аутентификация пользователей

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

цитировать



Зарегистрирован: 24 Окт 2007 14:00:40
Сообщения: 39
Откуда: Новосибирск

СообщениеДобавлено: 11 Ноя 2007 22:05:33    Заголовок сообщения: Аутентификация пользователей Ответить с цитатой

Прочтал соответствующий раздел. В самом конце не совсем понятно.

Как следить за пользователем на всём сайте? Т.е. если пользватель зарегистрирован, то "видеть" это на любой странице сайта.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Антон Исайкин
Site Admin
цитировать



Зарегистрирован: 08 Окт 2007 12:02:56
Сообщения: 150
Откуда: Санкт-Петербург

СообщениеДобавлено: 11 Ноя 2007 23:12:45    Заголовок сообщения: Ответить с цитатой

Ник, все просто, как никогда Smile
Смотри, в мануале описано, что ты создаешь сессию, в которой объявляешь переменную $user:
Код:
$this->Session->write('User', $someone['User']);

Все, пол-дела сделано. Теперь чтобы проверить что пользователь авторизован, ты делаешь так
Код:
if ($this->Session->check('User'))

Ну а если эта штука вернула false значит он не авторизован.
Вот дело-то почти и закончили, но надо проверять это постоянно. Для этого в кейке есть прекрасная фунция beforeFilter(). Хочешь ты или нет, но она вызывается перед каждым действием контроллера. Но происходит это только в рамках одного контроллера. А если надо делать проверку повсеместно, т.е. перед каждым действием всех контроллеров, то надо просто в папке app создать файл app_controller.php, он подключается при каждой генерации страницы, и в нем написать эту функцию, расширив класс Controller.

Как видишь, все просто! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Никита

цитировать



Зарегистрирован: 24 Окт 2007 14:00:40
Сообщения: 39
Откуда: Новосибирск

СообщениеДобавлено: 12 Ноя 2007 13:54:53    Заголовок сообщения: Ответить с цитатой

Спасибо. Но теоретически не возьмусб оценивать, получится или нет у меня Smile Так, ещё хотел спросить: app_controller.php в папке app - тоже понятно. Антон, помнишь, ты мне помогал с массивом меню? Так вот мы создали файл в директории app/controllers/app_controller.php - в чём разница?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Антон Исайкин
Site Admin
цитировать



Зарегистрирован: 08 Окт 2007 12:02:56
Сообщения: 150
Откуда: Санкт-Петербург

СообщениеДобавлено: 12 Ноя 2007 17:01:57    Заголовок сообщения: Ответить с цитатой

Не понял вопроса о разнице. Тебе в эту же функцию (beforeFilter()) надо добавить код для определения залогиненности пользователя (см. пред. пост).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Никита

цитировать



Зарегистрирован: 24 Окт 2007 14:00:40
Сообщения: 39
Откуда: Новосибирск

СообщениеДобавлено: 12 Ноя 2007 17:06:30    Заголовок сообщения: Ответить с цитатой

app/controllers/app_controller.php

app/app_controller.php

Разница в месторасположении документа.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Антон Исайкин
Site Admin
цитировать



Зарегистрирован: 08 Окт 2007 12:02:56
Сообщения: 150
Откуда: Санкт-Петербург

СообщениеДобавлено: 12 Ноя 2007 17:09:34    Заголовок сообщения: Ответить с цитатой

Честно говоря, ничего не знаю о файле app_controller.php, лежащем в app/controllers/. В документации о таком ничего не написано. Ты ничего не путаешь?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Никита

цитировать



Зарегистрирован: 24 Окт 2007 14:00:40
Сообщения: 39
Откуда: Новосибирск

СообщениеДобавлено: 12 Ноя 2007 17:16:34    Заголовок сообщения: Ответить с цитатой

Не, мы когда меню делали, то ты мне сказал там его создать. Что самое интересное - то, что всё работает! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Никита

цитировать



Зарегистрирован: 24 Окт 2007 14:00:40
Сообщения: 39
Откуда: Новосибирск

СообщениеДобавлено: 12 Ноя 2007 17:18:09    Заголовок сообщения: Ответить с цитатой

Антон, блин, наврал я... Приношу извинения за своеобразный бардак.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
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