Dokumentbasierte Sicherheit in ASP.NET MVC

Ich kenne mich bereits mit benutzer- und rollenbasierter Sicherheit in ASP.NET MVC aus. Aber jetzt brauche ich etwas Körnigeres.

Angenommen, ich habe eine Liste von Dokumenten, für die der Benutzer zum Teil autorisiert ist, für andere nicht. Jedes Dokument verfügt über einen entsprechenden Datensatz in einer Dokumententabelle in einer Datenbank. Dokumente können zum Anzeigen heruntergeladen werden, wenn der Benutzer über Sicherheitszugriff verfügt. Dokumente können auch hinzugefügt werden, wenn Sie die Rolle haben. Jedes Dokument hat eine URL und jede Dokumentenliste hat eine URL.

Ich möchte die Liste sicherheitshalber so kürzen, dass der Benutzer nur die Dokumente sieht, für die er berechtigt ist. Ich muss jedoch auch die URL-Anforderungen für diese Listen und Dokumente authentifizieren, da ein Benutzer durch nichts daran gehindert wird, ein Dokument, auf das er keinen Zugriff mehr hat, mit einem Lesezeichen zu versehen oder die URL einfach in den Browser einzugeben.

Ist das integrierte rollenbasierte Sicherheitsmodell dafür geeignet oder muss eine separate tabellenbasierte Sicherheit erstellt werden? Kann ich die Sicherheit in mein Repository stellen, sodass die zurückgegebenen Datensätze bereits gekürzt sind, oder sollte sie Teil des Controllers sein? Benötige ich ein Sicherheitsattribut, um die Controller-Anforderung zu validieren, oder sollte ich es einfach als erste Codezeile in die Controller-Methode einfügen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage