Вопрос № 89404: Права доступа к документам сайта хочу сделать так:
Bob Member group #2 (зарегистрированный пользователь)
* - All
- - non
R - Чтение
W – Запись, добавление, обработка
X – Удаление документа
P - Изменение свойств д...
Вопрос № 89.404
Права доступа к документам сайта хочу сделать так:
Bob Member group #2 (зарегистрированный пользователь)
* - All
- - non
R - Чтение
W – Запись, добавление, обработка
X – Удаление документа
P - Изменение свойств документа
...
Allow – разрешить
Deny - запретить
CODE
File Member group User Allow Deny_public * * R -_public 4 * W -_public * Bob WX -_public * Admin RWXP -_public 5 * X -_public 2 * - X_public/articles * Bob - X_public/articles/e * * - RWXP_public/articles/e/4 * Bob R W_admin * * - RWXP_admin 4 * RW XP
Помогите реализовать
Думаю для начала необходимо выбрать все записи которые относятся к пути к документу,
например для url _public/articles/e
это
CODE
_public * * R -_public 4 * W -_public * Bob WX -_public * Admin RWXP -_public 5 * X -_public 2 * - X_public/articles * Bob - X_public/articles/e * * - RWXP
Затем необходимо выделить те которые относятся к конкретному пользователю и гр. пользователей:
это
CODE
_public * * R -_public * Bob WX -_public 2 * - X_public/articles * Bob - X_public/articles/e * * - RWXP
А вот дальше как обработать чтобы в итоге получить массив элементов вида
Отвечает: Sea_
Здравствуйте, Оськин Дмитрий Владимирович!
Ответ не совсем конкретный, но все же.
Мой вам совет: прежде чем изобретать велосипед, посмотрите - может его уже кто-нибудь изобрел.
В вашем случаe я бы присмотрелся к Zend Framework. Там очень не плохо реализованы методы разграничения прав(Zend_Acl) и авторизации (Zend_Auth).
На худой конец можно взять идею оттуда и реализовать самому.
Ну а если конкретно, то если у вас вызывает трудности распарсить реализованные вами же атрибуты доступа, то тем более присмотритесь к готовым продуктам.
Ответ отправил: Sea_ (статус: 1-ый класс)
Ответ отправлен: 31.05.2007, 11:21