Java EE 6 Security: Java-Enterprise-Applikationen einfach und komfortabel absichern

Easy meets comfy


Wirft man einen Blick auf den Quellcode industrieller Java-Enterprise-Applikationen, so findet man ­darin nicht selten eigens entwickelte Sicherheitsframeworks vor. Der folgende Artikel gibt einen Überblick über die von der Java-EE-6-Plattform bereitgestellten Sicherheitskonzepte und ‑funktionalitäten und beschreibt anschließend, wie sich ­damit Webapplikationen und Enterprise Java ­Beans absichern lassen. Wir werden dabei sehen, dass das wirklich recht einfach und komfortabel vonstatten geht.

Artikelserie

Teil 1: Java SE 7 Security

Teil 2: Java EE 6 Security

Teil 3: Java EE 6 Security (Fortsetzung)

Teil 4: Web Services Security

Nachdem wir uns im ersten Teil dieser vierteiligen Artikelserie zum Thema Java & Security mit der Java Standart Edition 7 (Java SE 7) beschäftigten, rückt im zweiten und dritten Teil die Java Enterprise Edition 6 (Java EE 6) in das Zentrum unserer Betrachtungen. Wir werden uns dieses Mal in Anlehnung an [1] die theoretischen Grundlagen anschauen. Im nächsten Artikel folgt zwecks Vertiefung ein Gesamtbeispiel, durch das sich hoffentlich alle noch offenen Fragen klären werden.

Einführung in Java EE 6 Security

Java-Enterprise-Applikationen setzen sich üblicherweise aus unterschiedlichen Komponenten zusammen, die innerhalb verschiedener Container ausgeführt werden (Abb. 1). Derartige Container repräsentieren die Laufzeitumgebung für die Komponenten und stellen ihnen die grundlegenden Dienste bereit. Dazu zählen auch die sicherheitsbezogenen Funktionalitäten. Die Hauptaufgaben der Container in Sachen Sicherheit bestehen darin, die Benutzer zu authentifizieren und nur autorisierten Benutzern den Zugriff auf die Applikationsfunktionen und deren Daten zu erlauben. Zur komfortablen Gewährleistung dieser Punkte unterstützen die Container zwei unterschiedliche Paradigmen, derer sich der Entwickler bei der Programmierung bedienen kann: einerseits die deklarative Sicherheit und andererseits die programmatische Sicherheit.

loewenstein_security2_1.tif_fmt1.jpg Abb. 1: Der Java-EE-Server baut auf verschiedenen Containern auf [2]

Bei der deklarativen Sicherheit definiert der Programmierer die sicherheitsrelevanten Anforderungen mittels Annotationen direkt in der zugehörigen Klasse. Allerdings lassen sich auf diese Weise nicht alle Informationen festlegen. Die klassenübergreifenden Definitionen muss er im zugehörigen Deployment Descriptor notieren. Bei Webkomponenten kommen sie in die Datei WEB-INF/web.xml, bei Enterprise JavaBeans (EJBs) werden sie in der Datei META-INF/ejb-jar....

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang