Wie kann man Abfragen sicher nach Benutzerberechtigungen eingrenzen?Php

PHP-Programmierer chatten hier
Anonymous
 Wie kann man Abfragen sicher nach Benutzerberechtigungen eingrenzen?

Post by Anonymous »

Ich habe eine mandantenfähige Laravel-App, die eine gemeinsam genutzte Datenbank mit Tenant-Scoping verwendet. Jede Organisation kann Basisberechtigungen für ihre Mitglieder definieren.
Beispiel: Wenn „resource.view“ aktiviert ist, können alle Mitglieder standardmäßig alle Ressourcen anzeigen; Wenn es deaktiviert ist, können nur Benutzer, die explizit einer Ressource zugewiesen sind, sie anzeigen.
Im Moment filtere ich Projekte wie folgt:

Code: Select all

$projects = Projects::query() // scoped
->all()
->filter(fn (Project $project) => $user->can('view', $project));
Das Problem besteht darin, dass ein einzelner Fehler (wie das einfache Vergessen, einen Filter anzuwenden) dazu führen kann, dass Daten zwischen Mitgliedern verloren gehen. Ich habe versucht, einen globalen Bereich ähnlich meinem Mandantenbereich zu erstellen, aber es wird schnell kompliziert. Ich kann auch nicht einfach Gate::authorize('viewAny', Project::class);
Was ist die empfohlene Methode/das empfohlene Muster, damit umzugehen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post