Shiro und Spring Security: Artikel im Javamagazin

Nicht ganz ohne Stolz kann ich ver­laut­ba­ren: In der ak­tu­el­len Aus­ga­be des Ja­va­ma­ga­zins ist ein Ar­ti­kel von mir zu lesen! Zu­ge­ge­be­ner­ma­ßen hat der Re­lease von Groo­vy 2.0 mir knapp den Rang ab­ge­lau­fen ;-) Wenn man genau hin­guckt, fin­det man auf dem Cover rechts unten den­noch einen Ver­weis auf mei­nen Auf­satz.
Vor ge­rau­mer Zeit stand in einem Pro­jekt die Ent­schei­dung über die Ver­wen­dung eines Se­cu­ri­ty-Frame­works an - will man eines (Ja!), und wenn ja, wel­ches. Kan­di­da­ten waren Apa­che Shiro und Spring Se­cu­ri­ty. Die Über­le­gun­gen waren der Anlaß, eine Dum­my-Web­an­wen­dung Schritt für Schritt ab­zu­si­chern, und das je­weils mit bei­den Frame­works. So be­kommt man mei­ner Mei­nung nach ein gutes Ge­spür dafür, wie die Bi­blio­the­ken "ti­cken" und wel­che einem eher ent­ge­gen­kommt.

Der kom­men­tier­te Ver­lauf ist in Aus­ga­be 8/2012 des Ja­va­ma­ga­zins ab­ge­druckt; die Quell­tex­te der Schrit­te lie­gen hier auf Git­hub.
Alles in allem war es in meh­rer­lei Hin­sicht span­nend, einen sol­chen Ar­ti­kel zu ver­fas­sen: Man sieht die Bi­blio­the­ken noch­mals mit an­de­ren Augen, da man sich dazu zwingt, eine klare, ein­fa­che Er­klär-Li­nie für den Ar­ti­kel zu er­ar­bei­ten. Oben­drein hätte ich vor zwei Jah­ren die Frage "was ist bes­ser?" ohne mit der Wim­per zu zu­cken mit "Shiro" be­ant­wor­tet. Die jüngs­ten Ent­wick­lun­gen von Spring er­ge­ben je­doch ein dif­fe­ren­zier­te­res Bild - ge­ra­de SpEL (die Spring Ex­pres­si­on Lan­gua­ge) er­laubt ein sehr gro­ßes Maß an Fle­xi­bi­li­tät. In wie­fern man die­ses nut­zen möch­te, ist im Ein­zel­fall zu ent­schei­den - für ein kon­se­quen­tes Test-Dri­ven De­ve­lop­ment kann dies eine Menge an Test­fäl­len nach sich zie­hen. Shiro punk­tet in mei­nen Augen dafür mit der Re­sour­ce-Ba­sed Ac­cess Con­trol, die sich kon­se­quent durch das Frame­work zieht.
Letz­ten Endes ist die Ant­wort wohl in­zwi­schen ein "kommt dar­auf an" bzw. "Ge­schmacks­sa­che" - und einen Ein­druck für den Ge­schmack soll die­ser Ar­ti­kel ver­mit­teln.