В настоящий момент переделываю модель разграничения прав доступа. Есть некоторые сложности в новой модели, чтобы понять что к чему порассуждаю здесь, ибо выговаривая некоторых вещей не получается выстроить стройную концепцию.

И так: есть/будет коллекция способов доступа. На сегодня это: пароль одной страницы, общий пароль, членство в группе, авторство страницы. Каждый способ - это отдельный класс. Уже написал и сделано все изящно: права доступа проверяются до отсылки http ответов. Хороший аналог способа доступа - это виды в текущей модели движка.

Обнаружил ошибку планирования в структуре данных пользователей: один юзверь сейчас состоит только в одной группе. Следовало бы сразу сделать массив групп, где юзверь состоит в нескольких группах. Придется переделывать и адаптировать под новую структуру данных код. Хорошая аналогия с постами и рубриками: юзверь - это пост, а группа - это рубрика. Нужна новая админка для управления юзверями: чекбоксы групп (подумать про вложенные группы - нужны ли они и на кой черт). Админка управления группами: добавление/удаление. Удаление группы вместе с юзверями опционально.

Изменение колво групп у юзверя с1 как сейчас на массив требует нового свойства - группа юзверя по умолчанию. С новой парадигмой ограничений потребуется переделка (скорее всего постепенная ибо слишком много за один раз) всей админки. Введение спец класса для ограниченного доступа в админку. сейчас в коде стоит права сток, как правило, для проверки прав доступа.

Каждая из описанных задач в отдельности не является сложной, но их нельзя вводить постепенно, а только все сразу. Такая новая редакция влечет дестабилизацию движка, что хотелось бы избежать, так как я уже был ранее просто замучен нестабильностью и последние пару месяцев еще не успел насладится плодами стабильности. К примеру уже сейчас уже более 10 новых классов для управления доступом.

Да еще вот что - ограниченный доступ к файлам. Сейчас все загруженные файлы публичны. Надо будет разрулить понятным для конечного пользователя способом публичную загрузку и файлы с ограниченным доступом. Способ ограничения - абсолютно такой же как и для всего остального, то бишь универсальный.