Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Никита
цитировать
Зарегистрирован: 24 Окт 2007 14:00:40 Сообщения: 39 Откуда: Новосибирск
|
Добавлено: 11 Ноя 2007 22:05:33 Заголовок сообщения: Аутентификация пользователей |
|
|
Прочтал соответствующий раздел. В самом конце не совсем понятно.
Как следить за пользователем на всём сайте? Т.е. если пользватель зарегистрирован, то "видеть" это на любой странице сайта. |
|
Вернуться к началу |
|
|
Антон Исайкин Site Admin цитировать
Зарегистрирован: 08 Окт 2007 12:02:56 Сообщения: 150 Откуда: Санкт-Петербург
|
Добавлено: 11 Ноя 2007 23:12:45 Заголовок сообщения: |
|
|
Ник, все просто, как никогда
Смотри, в мануале описано, что ты создаешь сессию, в которой объявляешь переменную $user:
Код: | $this->Session->write('User', $someone['User']); |
Все, пол-дела сделано. Теперь чтобы проверить что пользователь авторизован, ты делаешь так
Код: | if ($this->Session->check('User')) |
Ну а если эта штука вернула false значит он не авторизован.
Вот дело-то почти и закончили, но надо проверять это постоянно. Для этого в кейке есть прекрасная фунция beforeFilter(). Хочешь ты или нет, но она вызывается перед каждым действием контроллера. Но происходит это только в рамках одного контроллера. А если надо делать проверку повсеместно, т.е. перед каждым действием всех контроллеров, то надо просто в папке app создать файл app_controller.php, он подключается при каждой генерации страницы, и в нем написать эту функцию, расширив класс Controller.
Как видишь, все просто! |
|
Вернуться к началу |
|
|
Никита
цитировать
Зарегистрирован: 24 Окт 2007 14:00:40 Сообщения: 39 Откуда: Новосибирск
|
Добавлено: 12 Ноя 2007 13:54:53 Заголовок сообщения: |
|
|
Спасибо. Но теоретически не возьмусб оценивать, получится или нет у меня Так, ещё хотел спросить: 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 Заголовок сообщения: |
|
|
Не, мы когда меню делали, то ты мне сказал там его создать. Что самое интересное - то, что всё работает! |
|
Вернуться к началу |
|
|
Никита
цитировать
Зарегистрирован: 24 Окт 2007 14:00:40 Сообщения: 39 Откуда: Новосибирск
|
Добавлено: 12 Ноя 2007 17:18:09 Заголовок сообщения: |
|
|
Антон, блин, наврал я... Приношу извинения за своеобразный бардак. |
|
Вернуться к началу |
|
|
|