Publishing- und/oder gemeinschaftliche Anwendungen beinhalten häufig die gemeinsame Nutzung von Ressourcen. In einem Portal kann einem Benutzer Zugriff auf bestimmte Inhalte als Mitglied einer Gruppe oder auf expliziten Zugriff gewährt werden. Der vollständige Inhalt kann öffentliche Inhalte, Gruppenmitgliedschaftsinhalte und private Benutzerinhalte umfassen. Oder mit Collaboration-Anwendungen möchten wir vielleicht Ressourcen als Teil eines Workflows weitergeben oder das Sorgerecht für ein Dokument zur Bearbeitung freigeben.Was sind die besten Vorgehensweisen bei der Autorisierung von Ressourcenlisten?
Da die meisten Anwendungen diese Ressourcen in einer Datenbank speichern, erstellen Sie in der Regel Abfragen wie "Alle Dokumente abrufen, die ich bearbeiten kann" oder "Alle Inhalte abrufen, die ich sehen kann". Wo 'bearbeiten' und 'sehen können' sind die Benutzerrechte.
Ich habe zwei Fragen:
Es ist ziemlich einfach, den Benutzer zu autorisieren, wenn Sie eine Ressource abgerufen haben, aber wie Sie effizient Autorisierung auf der Liste der verfügbaren Ressourcen durchführen? Und,
Kann diese Art von Autorisierung vom Kern der Anwendung getrennt werden? Vielleicht in einen separaten Dienst? Wie können Sie nach der Trennung Suchanfragen filtern wie "Holen Sie mir alle Dokumente, die ich mit einem Titel wie [SomeSearchTerm] sehen kann"? Es scheint mir, dass Ihr separates System viele Referenzdaten kopieren müsste.