dedlfix: User Berechtigungen im Framework

Beitrag lesen

Tach!

Generell kann entweder die Controller-Action selber auf das Userobjekt zugreifen und so Berechtigungen übeprüfen

Eigentlich ist das nicht deren Aufgabe. Wenn man zumindest versucht nach Single Resposibility zu programmieren, dann hat man da schon ein "und" in der Beschreibung der Funktion: "Prüfen der Berechtigung und Ausführen von Wasauchimmer".

Hier würde ich sagen, das kommt drauf an. Generell ist es natürlich sinnvoller, generelle Zugriffsregeln soweit möglich schon vor dem Controller zu überprüfen. Aber es kann auch durchaus sein, dass anhand der Benutzerrollen unterschiedliches "Wasauchimmer" gemacht wird. Aber du hast schon recht, je besser man die beiden Zuständigkeiten aufsplittet desto besser wartbar bleibt die Applikation.

Man kann (und muss) nicht immer zwingend Prinzipien einhalten. Getreu dem Motto: Prinzipien sind dafür da, dass man darüber nachdenkt, bevor man sie nicht befolgt.

Zum Beispiel kann man ja auch eine row based security benötigen, also dass die Berechtigung nicht anhand der Datenbank oder der Tabelle oder der Controller-Action festgemacht werden kann, sondern nur anhand von Kriterien im jeweils angeforderten Datensatz. Hier sehe ich auch eine Durchführung der Prüfung im Controller als sinnvoll an. Man kann ja solche Teilaufgaben in eigene Methoden oder auch Services auslagern.

dedlfix.