Shiro und Spring Security: Artikel im Javamagazin

Nicht ganz ohne Stolz kann ich verlautbaren: In der aktuellen Ausgabe des Javamagazins ist ein Artikel von mir zu lesen! Zugegebenermaßen hat der Release von Groovy 2.0 mir knapp den Rang abgelaufen ;-) Wenn man genau hinguckt, findet man auf dem Cover rechts unten dennoch einen Verweis auf meinen Aufsatz.
Vor geraumer Zeit stand in einem Projekt die Entscheidung über die Verwendung eines Security-Frameworks an - will man eines (Ja!), und wenn ja, welches. Kandidaten waren Apache Shiro und Spring Security. Die Überlegungen waren der Anlaß, eine Dummy-Webanwendung Schritt für Schritt abzusichern, und das jeweils mit beiden Frameworks. So bekommt man meiner Meinung nach ein gutes Gespür dafür, wie die Bibliotheken "ticken" und welche einem eher entgegenkommt.

Der kommentierte Verlauf ist in Ausgabe 8/2012 des Javamagazins abgedruckt; die Quelltexte der Schritte liegen hier auf Github.
Alles in allem war es in mehrerlei Hinsicht spannend, einen solchen Artikel zu verfassen: Man sieht die Bibliotheken nochmals mit anderen Augen, da man sich dazu zwingt, eine klare, einfache Erklär-Linie für den Artikel zu erarbeiten. Obendrein hätte ich vor zwei Jahren die Frage "was ist besser?" ohne mit der Wimper zu zucken mit "Shiro" beantwortet. Die jüngsten Entwicklungen von Spring ergeben jedoch ein differenzierteres Bild - gerade SpEL (die Spring Expression Language) erlaubt ein sehr großes Maß an Flexibilität. In wiefern man dieses nutzen möchte, ist im Einzelfall zu entscheiden - für ein konsequentes Test-Driven Development kann dies eine Menge an Testfällen nach sich ziehen. Shiro punktet in meinen Augen dafür mit der Resource-Based Access Control, die sich konsequent durch das Framework zieht.
Letzten Endes ist die Antwort wohl inzwischen ein "kommt darauf an" bzw. "Geschmackssache" - und einen Eindruck für den Geschmack soll dieser Artikel vermitteln.