WackoWiki: YuriMakarov/Предложения ...

Home Page | Изменения | Новые Комменты | Пользователи | Каталог | Регистрация | Вход:  Пароль:  
Оглавление документа

Просто предложения


Предложения по безопасности

Поддержка групп пользователей


В системе отсутствуют возможности создания Групп пользователей для разграничения полномочий. Это очень неудобно в работе, когда есть потребность в таком разграничении. При желании изменить полномочия на группу страниц (необязательно кластер) приходится все в ручную править. То же самое при появлении нового пользователя с некоторым набором полномочий.


Эту задачку можно очень просто решить.
Достаточно ввести в ACL еще один тип пользователя (в дополнение к * и $),
это ссылка на конкретную страницу. Она означает «Взять права доступа со страницы».


Примеры:


Достоинства этого метода



Тут еще много примеров придумать можно.
Этот метод управления полномочиями исключительно гибкий.


Реализация


Для реализации этого метода нужно в месте проверки прав доступа к странице добавить предварительную обработку (рекурсивную) списка доступа.


Если список доступа содержит группы, типа @Project 1 / Members?, то вставить в это место список доступа к Project 1 / Members?. Т.е. это выглядит как рекурсивный вызов той же процедуры.


В этом рекурсивном алгоритме обязательно должен быть контроль зацикливания.
Т.е. если список доступа текущего обрабатываемого документа уже встречался выше, то его обработка не делается (сделана выше).


Для этого можно использовать контрольный список.


Использование такого алгоритма


Контроль доступа к Экшенам и другим элементам


Сейчас Экшены (и возможно другие элементы системы) беззащитны перед любым пользователем. Если у меня есть право хоть чтото написать в систему (напр. коммент), я могу посмотреть очень многое, даже если хозяин системы запретит смотреть каталог, изменения, списки пользователей и т.д. Мне достаточно вставить в коммент вызов любого экшена.


Эта проблема тоже решается просто.


Достаточно в начале Экшена проверить права доступа пользователя к некоторой связанной и экшеном страницей. С какой страницей большого значения не имеет, к примеру можно завести кластер Actions и в нем страницы Actions / Resent Changes? и т.д. На самой странице описание экшена, в правах доступа – права пользователей на исполнение.


При этом можно разграничить доступ к результатам работы экшена в зависимости от прав читателя на страницу (или ее владение), поскольку мы можем задать 3 списка доступа к каждому экшену.


Это позволяет скажем запретить всем (кроме определенной группы) видеть результат экшена в комменте, или еще какие варианты (пока не обдумал).


Переделки минимальные, контроль полный и в онлайне с веб-интерфейса.
Можно скомбинировать с поддержкой групп доступа.


Предложения по Upload


Сейчас есть несколько экшенов для загрузки файлов (картинок) на сайт,
но то, что я видел, меня не устраивает. Недостатков несколько.


Как минимум:


Можно довольно просто решить эти проблемы.


(to be continued ..)

Предложения по форматерам



 
Файлов нет. [Показать файлы/форму]
Много комментариев (14). [Показать комментарии/форму]
Donate
Время работы: 3.877 s
Использовано памяти: 2.798 Mb