6 Stimmen

Spring Security Integration mit XACML (oder einer anderen auf Richtlinien basierenden Lösung)

Unsere Webanwendung basiert auf Spring Security. Wir behandeln bereits die Authentifizierung über den SSO-Anbieter (CAS)

Wir versuchen, eine praktische Lösung für die Autorisierung unserer App (Rollen und Berechtigungen) zu finden.

Ich habe von XACML gehört; konnte jedoch keine praktischen Erfahrungen/Beispiele zur Implementierung und Integration im Spring-Security-Framework finden.

Hat jemand damit Erfahrung?

Danke, Ray.

2voto

David Brossard Punkte 12885

Was Asela sagt, trifft auf die meisten XACML-basierten Autorisierungsserver zu.

Sie können aus Open-Source wählen:

  • WSO2 (Aselas), das Ihnen übrigens viel mehr bietet als nur XACML - es ist in erster Linie eine Vermittlungsplattform
  • ForgeRock's OpenAM
  • JBoss's PicketBox.
  • HerasAF
  • AuthzForce

Einige implementieren XACML 2.0, andere XACML 3.0

Im Anbieterbereich haben Sie:

  • IBM (XACML 2.0)
  • Oracle (Proprietär)
  • Dell (XACML 3.0, .NET-basiert)
  • Axiomatics (XACML 3.0, .NET und Java)

Haftungsausschluss: Ich arbeite für letzteres, Axiomatics. Wir haben in der Vergangenheit einen Beispiel-PEP getestet, der die Spring Security Access Decision implementiert und es funktioniert einwandfrei. Unser PDP ist sowohl als SOAP-Webservice als auch über REST gemäß dem REST-Profil von XACML verfügbar.

Möchten Sie, dass Ihr Spring Access Decision Manager einen XACML-PEP implementiert? Möchten Sie stattdessen einen Voter verwenden? Benötigen Sie Unterstützung für Obligationen und Ratschläge?

Sie können auch einen AOP-PEP verwenden, den Axiomatics ebenfalls anbietet. Wir haben ein Webinar zu diesem Thema am kommenden Donnerstag. Details hier.

1voto

Asela Punkte 5751

Ich bin mir nicht sicher über das Spring Security Framework. Aber wenn Ihre Anwendung externe SOAP-Webdienste aufrufen kann, können Sie den WSO2 Identity Server verwenden. Denn der PDP des WSO2 Identity Servers wurde über einen SOAP-basierten Webdienst freigegeben. Ich nehme an, dass Sie sie leicht über Ihre Anwendung aufrufen können. Weitere Details finden Sie in diesem Blog.

1voto

Srijith Nair Punkte 570

Ich weiß, dass dies eine alte Frage ist, aber ich dachte, ein kürzlich abgehaltener Webinar mit dem Titel "Verbesserung der Spring Security" (Haftungsausschluss: Ich arbeite für Axiomatics und bin ein Panelist im Webinar) wäre nützlich, um die gestellte Frage zu beantworten.

Es erklärt, wie die Spring Express Language (SpEL) (eingeführt in der Version 3) erweitert werden kann, um benutzerdefinierte Ausdrücke zu implementieren, um den XACML PDP für eine Autorisierungsentscheidung auf URL- und UI-Ebene (Web Expression) sowie auf Methodenebene (Method Expression) aufzurufen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X