Wie sollte ich sichere meine webapp geschrieben, mit Wicket, Spring und JPA?
So, ich habe eine web-basierte Anwendung, die die Wicket 1.4-framework und verwendet es Spring-beans, die Java Persistence API (JPA), und die OpenSessionInView Muster. Ich bin der Hoffnung zu finden, ein Sicherheitsmodell, das deklarative, aber nicht erforderlich ist, gobs von XML-Konfiguration -- ich bevorzuge Anmerkungen.
Hier sind die Möglichkeiten so weit:
-
Spring Security (guide) - sieht abzuschließen, aber jeder Anleitung, die ich finden Sie, dass kombiniert Sie mit Wicket noch immer fordert es Acegi Security, das macht mich denke, es muss alt sein.
-
Wicket-Auth-Roles (Anleitung 1 und guide 2) - die Meisten guides empfehlen mischen dies mit Spring Security, und ich Liebe den deklarativen Stil von @Autorisieren("ROLE1","ROLE2",etc). Ich bin besorgt darüber, dass Sie verlängern AuthenticatedWebApplication, da bin ich schon die Erweiterung org.apache.wicket.Protokoll.http.WebApplication, und der Frühling ist bereits proxying, dass hinter dem org.apache.wicket.Frühling.SpringWebApplicationFactory.
-
SCHWARM /WESPE (guide) - Das sieht die neueste (obwohl die Hauptverursacher der vergangen Jahre her), aber ich hasse alle die JAAS-styled-text-Dateien, die erklären Berechtigungen für den AUFTRAGGEBER. Ich weiß auch nicht wie die Idee, ein Action-Klasse wird für jede einzelne Sache, die ein Benutzer machen möchte. Secure-Modelle sind auch nicht sofort ersichtlich für mich. Plus, es ist nicht eine Authn Beispiel.
Zusätzlich, es sieht aus wie viele Leute empfehlen, das mischen der ersten und zweiten Optionen. Ich kann nicht sagen, was die beste Praxis ist, obwohl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob Sie dies sah blog-post also ich bin das hinzufügen es hier als Referenz-und ich zitiere das Ende:
Basierend auf den Informationen, über und die man Ihr zur Verfügung gestellt, und da ich lieber Anmerkungen zu, ich würde gehen für Wicket-Auth-Roles mit Spring Security (d.h. guide 2). Erweiterung
AuthenticatedWebApplication
sollte nicht das problem sein, da diese Klasse erweitertWebApplication
. Und ziehen Sie Ihre application-Objekt aus der Frühjahr Zusammenhang mitSpringWebApplicationFactory
sollte auch funktionieren.Und wenn Ihre sorgen sind wirklich groß ist, wäre dies ziemlich einfach und schnell zu bestätigen mit einem test IMO 🙂
Wir haben mit Wicket-Sicherheit für Jahre jetzt und wir haben es zusammen mit jaas-Dateien und mit annotatations. Die Definition der jaas-Dateien ist Recht mühsam und diese zu verwalten ist fast unmöglich...
Mit Anmerkungen, die man hat, um zu definieren, Maßnahmen und Prinzipien, die für jede Seite. Dies ist zeitaufwändig, aber es erlaubt Ihnen, lassen Sie die Benutzer zu definieren, Rollen und Berechtigungen dynamisch. Es ist auch möglich zu testen, alle principals mit der WicketTester.
Jedes der 3 Pakete hat es (dis -) Vorteile, es ist Geschmackssache und es hängt auch von der Größe der Anwendung.