M.: Coding-Guides und lange Links

Beitrag lesen

Mahlzeit,

Das ist unnötig kompliziert. Die Entwicklung von Anwendungen erweist sich als effizienter, wenn Zugangsberechtigungen komplett aus dem Code raus sind, wie das funktioniert habe ich auf meiner umfangreichen FW-Dokumentation beschrieben, kurzum: Je nach Anmeldung wird eine der Benutzergruppe zugewiesene RoutingTable geladen (Content-Negotiation).

Also ich weise dem User eine Gruppen-ID zu. Die steht in $_SESSION und wird dann mit der Gruppe verglichen, die das Modul aufrufen darf, also ein simples if()
Und das nennst du komplizierter als nen Routing-Table?

Dem Locator wird intern eine Klasse zugewiesen, die von außen nicht veränderbar ist, fertig. Ein angemeldeter Benutzer sieht auf der Domain eine komplett andere Website, als ein normaler Besucher.

In meinem Framework ist weder die Anzahl noch die Namen der Module grundsätzlich festgelegt und/oder bekannt. Der Anwender stellt sich sein System nach Wunsch selbst zusammen. Die Installation erfolgt automatisch per Zip-File und Web-Frontend.

Das es auch 3rd-Party Erweiterungen gibt, ist es völlig unmöglich, Modulnamen fest zu vergeben und zuzuweisen.

Die Prüfung, ob ein Anwender die Klasse benutzen darf, entfällt, weil es eine Zuordnung von URLs zur Anwendergruppe gibt, wobei die jeweiligen Klassen per Konfiguration an die URLs gebunden sind.

Da die Anwendung multilingual ist, kann ein Modul beliebig viele URLs besitzen, da der Modulname, je nach Sprache, variieren kann. Wie sollen alle theoretischen Möglichkeiten vorher erfasst werden?

Zweifelhaft, dass solche Konstrukte sicherheitsrelevant überschaubar sind

Du kannst gerne daran zweifeln, aber solange du es nicht für unmöglich hällst (was ich dir wiederlegen könnte) ist doch alles ok ;)

und es ist meine über 10jährige Erfahrung im Programmieren von Webanwendungen, die mir das Recht geben, ein solches Statement hier abzuliefern. Wenn ACL-Issues aus dem Code raus sind, gibt es hier auch kein Fehlerpotential.

Ich will dir deine Erfahrung nicht absprechen, aber wir wissen beide, das du gerne mal das Rad neu erfindest und es dabei viel komplizierter machst als nötig ;)

Grundsätzlich werde ich mir deine Ausführungen aber nochmal zu Gemüte führen und sehen, was ich davon brauchen kann. Ich halte dich in jedem Fall für einen Fachmann in Sachen Programmierung.

--
42