Framework PHP con una potente gestión de permisos de usuario

Estoy trabajando en un portal interno muy antiguo (PHP puro, muchos desarrolladores, sin reglas, funciones en desuso, etc...) que contiene muchas herramientas independientes (estadísticas, formularios, noticias, etc...).

Para detener el desastre, me gustaría reorganizarlo y me gustaría basarlo en un marco para administrar su núcleo (enrutamiento, permisos de usuario, acceso a la base de datos).

Luego, las diferentes partes del portal deben organizarse/desarrollarse como complementos/módulos/bloques/extensiones/lo que sea independientes.

Requisitos principales:

  • Proporcione acceso restringido a la página, acceso restringido a la funcionalidad, y lo mejor sería acceso restringido a los datos (todos mis usuarios registrados están etiquetados con el nombre de su empresa, y todos los datos de DB también, para verificar quién puede acceder a estos datos)
  • Acceso a base de datos compatible con SQL Server 2008
  • Buena organización de archivos PHP/CSS/JS para desarrollos independientes

Respuestas (1)

Laravel debería hacer el truco muy bien.

Tiene por defecto algunas funciones básicas de autenticación y un filtro de ruta que permite restringir fácilmente las rutas a usuarios autenticados (o por supuesto, puedes hacer tus propios filtros).

Si necesita permisos avanzados con grupos y roles, puede ampliarlos con paquetes de terceros como Confide + Entrust o Sentry .

Parece que es compatible con SQL Server, pero nunca lo he probado, así que no puedo estar seguro.

Para sus requisitos de complementos/bloques/módulos separados, ¿tal vez debería usar múltiples instalaciones del marco (y usar los mismos modelos para datos compartidos como usuarios)? Así no se interfieren entre sí, se pueden desarrollar de forma independiente y si uno se rompe los demás están bien.

¿Sabe cómo funciona el enrutamiento cuando se utilizan varias instalaciones?
@Fractaliste cada instalación debe tener su propio dominio o subdominio - son instalaciones totalmente separadas y cada una tiene sus propias rutas, lo único que tienen en común es la misma base de datos.
Definitivamente es compatible con MSSQL Server: probado y probado con MSSQL 2008R2 y MSSQL 2014 en mis propios proyectos