|
|
|
| приветствую всех !
задался целью переделать, а точнее изменить систему разграничения прав доступа пользователей. Хотелось бы услышать от всемогущих концепцию...
Я так полагаю что буду реализовывать доступ по группам, где у каждой группы свои права на чтение, запись, удаление... Но так же хочу предусмотреть вариант персональных настроек- ну чтобы всем членам группы тока читать, а этому из той-же группы еще и писать.
Сайт блочный (все блоки под уникальными псевдонимами), разграничть по блокам как бы просто, это сейчас и реализовано. Т.е. пользователь видит (имеет доступ) какие-то пункты меню. Внутри блоков кнпки удаления, сохранения зависят от прав группы или персональных .. Но права на доступ к элементам управления формы запрашиваются каждый раз пр заходе на страничку, а я вот думаю что лучше если при регистрации все сохранить в сессии. Каким образом (в каком виде) целесообразнее это хранить и потом анализировать ?
Спасибо тем кто дочитал до конца и ответил :-) | |
|
|
|
|
|
|
|
для: larush
(01.08.2007 в 13:38)
| | Своруйте концепцию разграничения прав доступа из UNIX или из SQL - лучше вряд ли что-то придумаете. Если хотите упрощённую систему (доступ, чтение, редактирование), ориентируйтесь на UNIX, если посложнее - т.е. разрешать произвольное количество операций - ориентируйтесь на SQL. | |
|
|
|
|
|
|
|
для: larush
(01.08.2007 в 13:38)
| | >Каким образом (в каком виде) целесообразнее это хранить и потом анализировать ?
Вот посмотрите такой вариант хранения всех полномочий пользователей в одной переменной:
<?PHP
define('USER_READ',1); // право на чтение
define('USER_WRITE',2); // право на запись
define('USER_CREATE',4); // право на создание
define('USER_EDIT',8); // право на редактирование
define('USER_DELETE',16); // право на удаление
// и т.д.
//затем складываем выбранные значение в переменную
// допустим были выбраны USER_WRITE, USER_EDIT и USER_DELETE
$user_access = 26; // 2 + 8 + 16
// и эту переменную сохраняем в профиль пользователя (в зависимости от того как эти данные у вас хранятся)
// проводим проверку на то или иное полномочие, например на запись
if ($user_access & USER_WRITE)
{
echo "полномочие одобренно";
}
else
{
echo "полномочие отсутствует";
}
?>
|
Для чего-то простенького вполне может сойти. | |
|
|
|