Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
quard Гость цитировать
|
Добавлено: 14 Июл 2008 19:25:27 Заголовок сообщения: авторизация пользователь - ваш выбор? |
|
|
Ребят, подскажите наиболее удобный компонент для авторизации.
Использую ветку 1.2, стандартный Auth конечно удобный, но меня задолбало несколько мелочей, которые пока решит не могут. Это где-то баг (сказывается RC2).
Все что мне нужно - это авторизировать пользователя и дать доступ только в нужные места (не админка). а если доступа нет - редиректим на страницу входа.
смотрел rdSimpleAuth, вариант конечно старый. и похоже никто не дорабатывает.
была затея писать самому, если ничего не найду - придется делать |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 14 Июл 2008 19:37:05 Заголовок сообщения: |
|
|
quard
а что за мелочи такие что жить так мешают? |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 19:44:55 Заголовок сообщения: |
|
|
доступ к isAuthorized() почему-то не во всех местах срабатывал. Так и не смог разобраться в причине. сделал везде наследование от AppController, но все равно ошибка вылетала.
добавлено: и ещё почему-то глючит указание на используемые поля. я не username хочу использовать, а email. а он ругается |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 14 Июл 2008 20:07:06 Заголовок сообщения: |
|
|
тот что колбэк в контроллер? баг есть? |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 20:16:03 Заголовок сообщения: |
|
|
баг или не баг не знаю. но вобщем я в AppController компонент Auth добавляю, в beforeFilter прописываю как надо авторизировать. пишу $this->Auth->authorize = 'controller';
и добавляю функцию isAuthorized(); которая возвращает всегда true;
потом мне нада чтобы в layout была проверка, авторизован или нет человек. доступа к контроллеру из view у нас нет поэтому написал в AppController в beforeFilter запись $this->set('isLoggedIn', $this->Auth->isAuthorized());
вот и все. ругается зараза.
щас вот опять ковыряюсь, и опять с указанием других полех для авторизации ругается |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 14 Июл 2008 20:18:07 Заголовок сообщения: |
|
|
Я использую obAuth
но у меня пока проекты, где нет огромной толпы пользователей или сложной системы прав.
Т.е. 3-4 уровня доступа, с чётким разделением - где кому и что можно.
Вполне понятный код.
Дописал хелпер для удобства. |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 20:19:28 Заголовок сообщения: |
|
|
прикольно. там где ругается про поля вывел $this->fields в Auth компоненте, они оказались стандартными. такое ощущение что не правильно инициализируется или у меня не там выставляются новые поля |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 14 Июл 2008 22:44:04 Заголовок сообщения: |
|
|
quard
http://api.cakephp.org/auth_8php-source.html#l00257
Раз ты все в AppController сделал то 257 строка тебя нафиг посылает |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 22:52:10 Заголовок сообщения: |
|
|
Хм, интересно. А куда вставлять тогда? в Users?
слушай, а можешь в аське проконсультировать? |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 23:02:37 Заголовок сообщения: |
|
|
ОО, перенес в Users код для Auth. Заработало почти все!
теперь вопрос - как узнать залогинен ли пользователь из любых мест View ? в AppController пишу $this->set('isLoggedIn', $this->Auth->isAuthorized());
но в дефолтовом layout когда юзер не залогинен (хотя может и когда залогинен, там редирект идет) пишет нотис, что isLoggedIn не определен
в остальных местах все ок. |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 14 Июл 2008 23:32:41 Заголовок сообщения: |
|
|
quard
С именем контроллера - знатные вилы
Про дефолтный лайоут не понятно совсем - он сам по себе вызываться не может - его рендерят в контексте какогото конкретного контроллера. Если в нем Auth верно используется то проблем быть не должно
icq нету ))) |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 14 Июл 2008 23:47:00 Заголовок сообщения: |
|
|
ещё глупый вопрос: у меня в роутинге стоит что индекс / ведет на Pages. Но почему-то не могу разрешить доступ к нему. пишу var $authAllow = array("*"); и все равно редиректит на страницу входа. Добавил $this->Auth->allow("*"); в метод display(), все равно не хочет.
я так понял что для запрета используется var $authDeny, а для разрещения $authAllow ? и для каждого контроллера надо прописывать что можно, а что нельзя?
про лайоут дефолтный: нашел у себя ошибку |
|
Вернуться к началу |
|
|
quard Гость цитировать
|
Добавлено: 15 Июл 2008 00:14:23 Заголовок сообщения: |
|
|
ух, как-то все неожиданно заработало как надо )
нашел интересную статейку: http://myeasyscripts.com/loudbaking/how-to-use-authcomponent-in-cakephp/
и там метод __initAuth() с использованием $authAllow и $authDeny. вобщем помогло мне
спасибо что тыкнули в нужное русло! |
|
Вернуться к началу |
|
|
cyberfox
цитировать
Зарегистрирован: 20 Янв 2008 14:50:10 Сообщения: 16
|
Добавлено: 18 Июл 2008 03:14:50 Заголовок сообщения: |
|
|
guard
Чтобы во view узнать можно использовать SessionHelper:
Код: |
if ($session->check('Auth.User.id')){
//Юзер авторизован
}
|
У меня же в Auth проблема с бесконечными редиректами. Кто знает из-за чего она может быть? _________________ Мой сайт http://ring-0.ru |
|
Вернуться к началу |
|
|
kevel
цитировать
Зарегистрирован: 19 Май 2008 16:17:05 Сообщения: 12 Откуда: minsk, belarus
|
Добавлено: 08 Авг 2008 18:21:18 Заголовок сообщения: |
|
|
Дабы не начинать новую тему, пишу здесь
Сделал авторизацию по примеру - /wiki/Code/Misc/BasicAuth
Но возникла потребность в разделении прав для разных пользователей, чтобы у разных групп были доступны разные страницы
есть идея, может и плохая - для каждой группы использовать свой authAllow (определять какой в компоненте Auth).
кто что посоветует? |
|
Вернуться к началу |
|
|
|