PHP-Framework mit leistungsstarker Benutzerberechtigungsverwaltung

Ich arbeite an einem sehr alten internen Portal (reines PHP, viele Entwickler, keine Regeln, veraltete Funktionen usw.), das viele unabhängige Tools enthält (Statistiken, Formulare, Nachrichten usw.).

Um die Katastrophe zu stoppen, möchte ich es reorganisieren und es auf ein Framework stützen, um seinen Kern zu verwalten (Routing, Benutzerberechtigungen, DB-Zugriff).

Dann sollten die verschiedenen Teile des Portals wie unabhängige Plugins/Module/Blöcke/Erweiterungen/was auch immer organisiert/entwickelt werden.

Hauptanforderungen:

  • Bieten Sie eingeschränkten Seitenzugriff, eingeschränkten Funktionszugriff und am besten eingeschränkten Datenzugriff (alle meine registrierten Benutzer werden mit ihrem Firmennamen und allen DB-Daten gekennzeichnet, um zu überprüfen, wer auf diese Daten zugreifen kann).
  • Datenbankzugriff kompatibel mit SQL Server 2008
  • Gute PHP/CSS/JS-Dateiorganisation für unabhängige Entwicklungen

Antworten (1)

Laravel sollte den Trick gut machen.

Es hat standardmäßig einige grundlegende Authentifizierungsfunktionen und einen Routenfilter , der es ermöglicht, Routen einfach auf authentifizierte Benutzer zu beschränken (oder natürlich können Sie Ihre eigenen Filter erstellen).

Wenn Sie erweiterte Berechtigungen mit Gruppen und Rollen benötigen, können Sie diese mit Paketen von Drittanbietern wie Confide + Entrust oder Sentry erweitern .

Es scheint SQL Server zu unterstützen, aber ich habe das nie versucht, also kann ich nicht sicher sein.

Für Ihre separaten Plugins/Blöcke/Module-Anforderungen sollten Sie vielleicht einfach mehrere Installationen des Frameworks verwenden (und dieselben Modelle für gemeinsam genutzte Daten wie Benutzer verwenden)? Auf diese Weise stören sie sich nicht gegenseitig, können unabhängig voneinander entwickelt werden und wenn einer von ihnen kaputt geht, sind die anderen in Ordnung.

Wissen Sie, wie das Routing funktioniert, wenn Sie mehrere Installationen verwenden?
@Fractaliste Jede Installation sollte eine eigene Domäne oder Subdomäne haben - es handelt sich um völlig separate Installationen, und jede hat ihre eigenen Routen. Das einzige, was sie gemeinsam haben, ist dieselbe Datenbank.
Unterstützt auf jeden Fall MSSQL Server - erprobt und getestet mit MSSQL 2008R2 und MSSQL 2014 in meinen eigenen Projekten