[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разделить юзеров по правам
denis39
Товарищи знатоки у меня возникла необходимость разделить на сайте юзеров по ролям. Например: одна группа пользователей может удялять комментарии, другая удалять новости, третья является администраторами, а все остальные юзеры могут только "тупо" лазить по сайту
Подскажите в какую строну смотреть, помогите реализовать. Зараннее спасибо. rolleyes.gif



Спустя 7 минут, 5 секунд (16.12.2009 - 22:24) VolCh написал(а):
Если серьезно подходить, то гугли на тему ACL (Access Control List), например вот реализация на PHP http://phpgacl.sourceforge.net/

Если "на раз", то в каждый скрипт вставляй сначала проверку на аутентификацию пользователя (если нет - ридерект на форму), потом имеет ли его группа права выполнять это скрипт (или этот скрипт с такими-то параметрами)

Спустя 7 часов, 11 минут, 33 секунды (17.12.2009 - 05:35) NewBePhp написал(а):
denis39
ну если уж совсем простое то вот те пища для ума:
в первой таблице создаешь наименование пользователей + туда и админов и модеров засовываеш... например:

имя_id | право 1 | право 2 | право 3 | право 4
--------------------------------------------------------
1_________1 ________1_______1 ______1.____
2 _________1 ________1_______1 ______0.____
3 _________1 ________1_______0 ______0.____
4 _________1 ________0_______0______0.____


сорри что так .. я люблю рисовать...
вот это таба по основным правам...
потом в табе пользователей создаеш столбец прав... и пишеш если админ то 1 если гость то 4...

если тебе нужно чтоб каждые индивидуальными пользовался то надо уже индивидуально для каждого составлять табу... и советую перед тем как что то делать начни делать с конца ... представь себе как будет выглядеть все это и все получ... а чужие советы мало че дают если сам не фурычиш

Спустя 1 час, 28 минут (17.12.2009 - 07:03) qpayct написал(а):
Во первых надо понять сколько уровней в проэкте:
1-ый: картинки.
2-ой: каменты.
+ вот скажем модератор картинок не может изменять каменты, а следовательно у нас уже 2 вида модераторов + пахан и простые юзвери итого 4.
Тоесть 2 вида доступов(просмотр, редактирование) на 2 уровня(картинки, каменты).
1-2+2-2 доступ пахана
1-2+2-1 доступ модератора картинок
1-1+2-1 доступ юзверя
1-1+2-2 доступ модера каментов
+ разделяет уровни, а - разделяет уровень и доступ.

Спустя 40 минут, 28 секунд (17.12.2009 - 07:44) Alex VoDevil написал(а):
Ну на мой взгляд самое простое и быстрое при дальнейшем юзании скрипта:
Добавить в табличку с пользователями колонку group_id, Далее создать табличку %prefix%_groups:
id | acces1 | acces2 | acces3
Естественно проверять авторизирован ли пользователь, а потом, при попытке доступа к закрытым частям\функциям сайта выбирать "... WHERE(id = group_id)". Это если закрытых частей\функций на ресурсе мало. А если при обращении почти к каждой страничке нужно права смотреть, то можно acces1 | acces2 | acces3 прямо в таблицу пользователей дописать.

Спустя 1 час, 8 минут, 8 секунд (17.12.2009 - 08:52) denis39 написал(а):
Пасибо за советы, вечером буду реализовывать

Спустя 10 часов, 4 минуты, 31 секунда (17.12.2009 - 18:56) inpost написал(а):
Я делал для админки так:
Пользователю добавлял ещё по одной колонке с правами, права на новости, к примеру, с записью одной из: 0,1,2.
0 - нет прав
1 - частичные, можно добавлять, редактировать и удалять лишь те новости, которые сам человек добавил
2 - полные права.

А на странице проверял, что записано у пользователя в таблице (можно перенести это значение в сессию при авторизации, чтоб не обращаться к базе постоянно), и выводил необходимую операцию через if.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.