PHP-фреймворк с мощным управлением правами пользователей

Я работаю над очень старым внутренним порталом (чистый PHP, много разработчиков, без правил, устаревших функций и т. д.), который содержит множество независимых инструментов (статистика, формы, новости и т. д.).

Чтобы остановить катастрофу, я хотел бы реорганизовать его и создать основу для управления его ядром (маршрутизация, разрешения пользователей, доступ к БД).

Затем различные части портала должны быть организованы/разработаны как независимые плагины/модули/блоки/расширения/что угодно.

Основные требования:

  • Обеспечить ограниченный доступ к страницам, ограниченный доступ к функциональным возможностям и лучше всего ограничить доступ к данным (все мои зарегистрированные пользователи помечены названием своей компании, а также всеми данными БД, чтобы проверить, кто может получить доступ к этим данным)
  • Доступ к базе данных, совместимый с SQL Server 2008
  • Хорошая организация файлов PHP/CSS/JS для самостоятельной разработки

Ответы (1)

Laravel должен отлично с этим справиться.

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

Если вам нужны расширенные разрешения для групп и ролей, вы можете расширить их с помощью сторонних пакетов, таких как Confide + Entrust или Sentry .

Кажется , он поддерживает SQL Server, но я никогда не пробовал, поэтому не могу быть уверен.

Для ваших требований к отдельным плагинам/блокам/модулям, возможно, вам следует просто использовать несколько установок фреймворка (и использовать одни и те же модели для общих данных, таких как пользователи)? Таким образом, они не мешают друг другу, могут развиваться независимо, и если один из них сломается, остальные будут в порядке.

Вы знаете, как работает маршрутизация при использовании нескольких установок?
@Fractalist каждая установка должна иметь свой собственный домен или субдомен - это совершенно отдельные установки, и каждая имеет свои собственные маршруты, единственное, что у них общего, - это одна и та же база данных.
Определенно поддерживает MSSQL Server — опробовано и протестировано с MSSQL 2008R2 и MSSQL 2014 в моих собственных проектах.