Kann die richtlinienbasierte Autorisierung dynamischer sein?

9

Net Core Policy Authorisation, jedoch sieht es für mich sehr statisch aus. Weil in der Unternehmensanwendung häufig neue Rollen benötigt werden, die neue Richtlinien benötigen (soweit ich weiß) oder wenn Sie neue Richtlinien für bestimmte Clients implementieren möchten. Wenn wir zum Beispiel ein CMS erstellen, das von diesen Richtlinien gesteuert wird, wollen wir, dass jeder Client in der Lage ist, eigene zu definieren. Kann also dieser neue Politikgrundmechanismus dynamischer sein oder ist seine Idee ganz anders?

danke:))

    
Petar Minev 16.05.2016, 05:12
quelle

2 Antworten

14

Ich empfehle immer, dass man sich die @a Least Privilege Repo ansieht, da es einige großartige Beispiele für alle möglichen Ansätze gibt kann mit den neuen Paradigmen ASP.NET Core Authentifizierung und Autorisierung umgehen.

  

Kann dieser neue Policy-Basismechanismus dynamischer sein?

Ja, tatsächlich ist es dynamischer als die vorherigen rollenbasierten Konzepte. Sie können Richtlinien definieren, die datengesteuert sein können. Hier finden Sie weitere nützliche Informationen. Sie können angeben, dass beispielsweise ein API-Einstiegspunkt durch eine Richtlinie geschützt ist, und dass diese Richtlinie einen Handler haben kann und dieser Handler alles tun kann, was er benötigt, d.h. Untersuche den aktuellen User im Kontext, vergleiche Behauptungen mit Werten in der Datenbank, vergleiche Rollen, alles wirklich. Betrachten Sie die folgenden :

Definieren Sie einen Einstiegspunkt mit dem Policy

%Vor%

Fügen Sie die Autorisierung mit den Optionen hinzu, die die Richtlinie hinzufügen.

%Vor%

Definieren Sie dann den Handler.

%Vor%
  

Ist die Idee völlig anders?

Es sollte den vorherigen Konzepten sehr ähnlich sein, die Sie mit auth8 und authz gewohnt sind.

    
David Pine 16.05.2016, 13:18
quelle
6

Die akzeptierte Antwort ist immer noch ziemlich begrenzt. Dynamische Werte auf der Controller- und Action-Ebene sind nicht zulässig. Die einzige Stelle, an der ein benutzerdefinierter Wert hinzugefügt werden könnte, ist die Anforderung, wenn die Richtlinie hinzugefügt wird. Manchmal benötigen Sie eine feinere Kontrolle über den Autorisierungsprozess. Ein sehr häufiges Szenario ist die Erlaubnis basierte Sicherheit. Jeder Controller und jede Aktion sollte in der Lage sein, die Berechtigungen anzugeben, die für den Zugriff auf sie erforderlich sind. Siehe meine Antwort hier für eine leistungsfähigere Lösung, mit der Sie benutzerdefinierte Attribute verwenden können, um Ihre Controller und Aktionen mit allen benötigten Informationen zu dekorieren während der Autorisierung.

    
Shawn 27.11.2016 02:18
quelle