Исходя из логики описанной в разделе Группы и пользователи доступ по http к модели возможен в совокупности следующих свойств:
или же:
Роутинг запросов к request моделей учитывает системный вес пользователя и сортирует модели с одинаковыми request на основе наибольшего минимального системного веса групп доступа моделей.
Иными словами, контроллер может отдавать модели с одинаковым REQUEST_URI, но с разными файлами обработчиками и контентом в них, разными группами доступов и владельцев моделей. При этом пользователи могут находится в одних и тех же пересекаемых группах. Например пользователь 1 состоит в группе "администраторы" и "пользователи", а пользователь 2 состоит в группе "пользователи". Вес групп пользователя 1 больше. И есть 2 разных модели типа "страница" с одинаковым REQUEST_URI. Но для пользователя 1 доступны обе страницы, а для пользователя 2 только одна. В результате пользователям будут отданы разные страницы, т.к. пользователю 1 будет отдана страница наиболее подходящая по его весу групп.
Разберем наглядный пример из самых простейших вариантов:
Минимальный системный вес групп доступа у модели запроса id 1 = 0. А что если так:
Минимальный системный вес групп доступа для модели запроса id 1 по прежнему равен 0.
Wrong\Rights\Group::weightSort($arr) осуществляет сортировку именно по этому параметру и приоритет для запроса в любом случае будет отдан именно модели нашей админ панели, даже несмотря на то, что мы включили группу Администраторы в группы доступа модели id 1:
Поэтому в группы доступа своих моделей любой пользователь может назначать любые даже старшие по весу группы. Даже если у них есть модели с такими же request uri, им это никак не навредит. Это как в Linux вы назначили своему файлу права rwx-rwx-rwx(0777) - делайте что хотите, ваши проблемы, не хотите не делайте, колхоз дело добровольное.
А теперь такой пример:
Мы отключили модель id 2(главную админ панели), но для группы Система она по прежнему доступна, а вот для всех остальных уже нет. И разрешили доступ всем к главной id 1(не авторизованных). Проверим - зайдем из под Demo пользователя и убедимся:
Demo группе доступна теперь только такая главная. Аналогичного эффекта можно добиться, если отключить группу Demo. Скрипт будет вести себя так, будто этой группы нет. И пользователи группы Demo, если они не состоят в других активных группах, станут Гостями с нулевыми правами не авторизованных.
Выше лишь базовый пример работы роутинг контроллера. Возможности комбинаций групп доступа, владельцев моделей и системного веса, обработчиков и шаблонов на основе этих компонентов ограничены лишь вашей фантазией!
Тем не менее ваши первичные действия в новом проекте всегда будут начинаться с главной. Вы же не собираетесь оставлять текущую главную страницу wrong-mvc. Не стоит её изменять. Просто отключите её, но сначала создайте свою первую модель - главную страницу вашего проекта