Вы не зашли.
Главная » PHP » (PHP) Разграничение прав по ролям
#1. НЕЗНАЙКА Off (11)
Участник
2010.11.17 16:04
Это вообще больная темаsmile Необходима небольшая система прав. Немного подумав накатал эдакое:
Код:
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;}?>
ДАУН-Данная Аватара Унаследована Незнайкой
#2. НЕЗНАЙКА Off (11)
Участник
2010.11.17 16:04
Далее проверяем:
Код:
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']){# Вы автор сего текста}?>
Вопрос, можно как-то улучшить такой метод? Ну и ваше мнение...
П.С. Писал быстро, могут быть ошибки
ДАУН-Данная Аватара Унаследована Незнайкой
#3. НЕЗНАЙКА Off (11)
Участник
2010.11.17 17:05
Nu3oN, убирать за собой хорошоsmile
ДАУН-Данная Аватара Унаследована Незнайкой
#4. Nu3oN Off (11)
Moderator
2010.11.17 17:05
НЕЗНАЙКА написал:
В твоем варианте массив ид юзеровsmile Прикинь сколько нужно вписать? К тому же для гостей не нужно
Да я просто вначале не понял суть... Когда я это начал писать, у тебя был только первый пост smile
Я думал это доступ к определенным модулям сайта hmm
Добавлено спустя   2 минуты  21 секунду:
НЕЗНАЙКА написал:
Nu3oN, убирать за собой хорошоsmile
Ага)))
Добавлено спустя   3 минуты  36 секунд:
з.ы думаю твой вариант наилучшее решение...
Я буду лучше голоден, но между креслом и рулем и на дороге.
#5. НЕЗНАЙКА Off (11)
Участник
2010.11.17 17:05
Nu3oN написал:
з.ы думаю твой вариант наилучшее решение...
Не наилучшее, но имеет право жить. Надо бы еще укомплектовать вложенные роли (админ - модератор - юзер), а то если еще супер-админа сделать, то большие строки будут.
ДАУН-Данная Аватара Унаследована Незнайкой
#6. Gemorroj Off (107)
Administrator
2010.11.17 17:05
сам подход, по-моему верный. чтобы более предметно разговаривать нужно увидеть в реальном проекте. а так, повторюсь, подход по-моему хороший.
#7. НЕЗНАЙКА Off (11)
Участник
2010.11.17 17:05
Проблема возможно с баном будет. Смотря как дать доступ забаненым - редактировать ли, писать...
реальный проект... Если начну  писать, то посмотрим "вживую"
Прост мне не нужны все эти навороты аля zend_acl. Хотя тут тоже можно написать класс и расширять проще
ДАУН-Данная Аватара Унаследована Незнайкой
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.014 s