Die standardmäßige rollenbasierte Autorisierung in .NET Core prüft, ob ein Benutzer eine Aktion ausführen kann, aber oft nicht, ob der Benutzer auf eine bestimmte Ressource zugreifen sollte. Diese Lücke führt zu horizontaler Privilegieneskalation, bei der authentifizierte Benutzer Daten anderer Benutzer lesen oder ändern können. Der Artikel untersucht, wie man ressourcenbasierte Autorisierung mit dem integrierten IAuthorizationService und benutzerdefinierten Handlern implementiert. Er zeigt einen mehrschichtigen Ansatz: Zuerst funktionale Berechtigungen prüfen (kann der Benutzer diesen Endpunkt aufrufen?), dann Ressourcenberechtigungen (gehört dieser Datensatz dem Benutzer?). Das Muster ist besonders relevant für Multi-Tenant-SaaS-Plattformen, Gesundheitssysteme und Finanzanwendungen, bei denen Datenisolation entscheidend ist. Der Autor diskutiert auch Erweiterungspunkte wie die Integration mit richtlinienbasierter Autorisierung und die Behandlung komplexer Eigentumshierarchien. Für Entwicklungsteams reduziert dieses Muster den Sicherheitsprüfungsaufwand und bietet einen klaren, testbaren Weg, Datenzugriffsregeln konsistent durchzusetzen.
Erweitern Sie die Autorisierungspipeline von .NET Core, um ressourcenbasierte Berechtigungen durchzusetzen und horizontale Privilegieneskalation in datensensiblen Anwendungen zu verhindern.