Вы не зашли.
Это вообще больная тема

Необходима небольшая система прав. Немного подумав накатал эдакое:
Код:
span style="color: #0000BB"><?php# Roles$_roles = array('banned' => false,'guest' => false,'member' => false,'author' => false,'moderator' => false,'admin' => false);# Определяем доступ по level из БД$user_data['level'] = 1;if ($user_data['level'] == 1){$_roles['member'] = true;}elseif ($user_data['level'] == 3){$_roles['moderator'] = $_roles['member'] = true;}elseif ($user_data['level'] == 4){$_roles['admin'] = $_roles['moderator'] = $_roles['member'] = true;}else{$_roles['guest'] = true;}?> |
ДАУН-Данная Аватара Унаследована Незнайкой
Далее проверяем:
Код:
span style="color: #0000BB"><?php# определение ролей# проверка доступаif ($_roles['moderator']){# Вы модератор}?> |
Если нужны действия типа редактировать анкету то:
Код:
span style="color: #0000BB"><?php# определение ролей# определяем автора# сравниваем ID пользователя, создавшего запись с текущимif ($user_data['id'] == $text['user_id']){$_roles['author'] = $_roles['member'] = true;}# проверка доступаif ($_roles['author']){# Вы автор сего текста}?> |
Вопрос, можно как-то улучшить такой метод? Ну и ваше мнение...
П.С. Писал быстро, могут быть ошибки
ДАУН-Данная Аватара Унаследована Незнайкой
Nu3oN, убирать за собой хорошо
ДАУН-Данная Аватара Унаследована Незнайкой
#4.
Nu3oN
Off
(11)
Moderator
2010.11.17 14:02
НЕЗНАЙКА написал:В твоем варианте массив ид юзеров

Прикинь сколько нужно вписать? К тому же для гостей не нужно
Да я просто вначале не понял суть... Когда я это начал писать, у тебя был только первый пост

Я думал это доступ к определенным модулям сайта
Добавлено спустя 2 минуты 21 секунду: НЕЗНАЙКА написал:Nu3oN, убирать за собой хорошо

Ага)))
Добавлено спустя 3 минуты 36 секунд: з.ы думаю твой вариант наилучшее решение...
Я буду лучше голоден, но между креслом и рулем и на дороге.
Nu3oN написал:
з.ы думаю твой вариант наилучшее решение...
Не наилучшее, но имеет право жить. Надо бы еще укомплектовать вложенные роли (админ - модератор - юзер), а то если еще супер-админа сделать, то большие строки будут.
ДАУН-Данная Аватара Унаследована Незнайкой
сам подход, по-моему верный. чтобы более предметно разговаривать нужно увидеть в реальном проекте. а так, повторюсь, подход по-моему хороший.
Проблема возможно с баном будет. Смотря как дать доступ забаненым - редактировать ли, писать...
реальный проект... Если начну писать, то посмотрим "вживую"
Прост мне не нужны все эти навороты аля zend_acl. Хотя тут тоже можно написать класс и расширять проще
ДАУН-Данная Аватара Унаследована Незнайкой
Страниц: 1