Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разграничение прав пользователей 
:(
    Опции темы
Elfet
Дата 7.7.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Всем привет!

Допустим у нас есть древо сайта. 
К каждому элементу пользователь должен иметь определённые права: просмотр, изменение, создание, удаление. Так же должны иметься маски доступа (которые возможно описывают не всё древо сайта, а только его часть)
Пользователю помимо своих персональных прав доступа можно так же назначить несколько масок.
При решении на предоставлении пользователю какого-то права учитывается наилучшая оценка (например: к какомуто элементу у пользователя есть доступ, а у маски (его же) нету права на доступ к модулю - пользователь получит доступ. так же и наоборот.)

Правильная такая система разграничения прав пользователя? 
Как его реализовывать?


--------------------
PM MAIL WWW Skype   Вверх
Mal Hack
Дата 7.7.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Проще.
1. есть макса доступа самого пользователя.
2. есть маска доступа группы пользователя.

Приоритет - макска пользователя, причем принцип "все в разрешено" нельзя использовать. Представь себе, есть юзер, в группе юзеры, и все бы хорошо, но в одном разделе он поднапортачил, и ты туда закрыл ему доступ по маске пользователя естественно. Следовательно при твоем подходе "учитывается лучшая оценка" доступ он получит, чего тебе не надо.

Цитата(Elfet @  7.7.2008,  11:44 Найти цитируемый пост)
 Так же должны иметься маски доступа (которые возможно описывают не всё древо сайта, а только его часть)

Это не верно, т.к. все равно должна быть привязка к пользователю или группе. Иначе как ты будешь поступать, если у тебя добавилась группа пользователей?

Реализация зависит от более четкой постановки задачи (в принципе можно и на файлах и на БД делать). Варианты:
1. битовые поля 
2. байтовое поле (или N байтовое, суть - работа с ним побитно)
3. множество
4. строка (извратский способ, но на сложных структурах прав доступа работает неплохло).
PM ICQ   Вверх
Elfet
Дата 7.7.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(Mal Hack @  7.7.2008,  12:56 Найти цитируемый пост)
Приоритет - макска пользователя,

Да, тут согласен. Только тогда видимо есть три уровня: запрещено, унаследовать, разрешено.

Цитата(Mal Hack @  7.7.2008,  12:56 Найти цитируемый пост)
Это не верно, т.к. все равно должна быть привязка к пользователю или группе. Иначе как ты будешь поступать, если у тебя добавилась группа пользователей?

Не совсем понял. Какая разница? Группы пользователей вообще не обязательны. Маски могу описывать часть для простого добавления страниц в древо сайта. Возможно так же  нужны ещё права по умолчанию для страниц и такие приоритеты: пользовательская маска, маска, по умолчанию страницы.


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.