Containergesteuerte JEE-Sicherheit verwenden

Um JSF-Webanwendungen zu sichern, können Sie containergesteuerte Sicherheit verwenden. Diese wird von einem JSF-kompatiblen Webanwendungsserver abgewickelt. Dieses Kapitel enthält einige Details, zum Beispiel Beispielanmelde- und Fehler-JSPs sowie eine Liste sicherheitsrelevanter EGL-Funktionen.

Lesen Sie auch die Dokumentation zu Ihrem Webanwendungsserver.

Rollen und Bedingungen in web.xml zuweisen

In der JEE-Sicherheit basiert die Berechtigung zum Zugreifen auf Webressourcen auf einer Sicherheitsrolle wie clerk oder manager. Jede Rolle besitzt einen vom Entwickler zugewiesenen Status und ist im JEE-Implementierungsdeskriptor (web.xml) gespeichert, der dem Anwendungscode beiliegt. In web.xml ist außerdem eine Gruppe von Bedingungen gespeichert, durch die definiert wird, welche Webseiten für Benutzer verfügbar sind, denen schließlich eine bestimmte Rolle zugewiesen wurde.

Gehen Sie wie folgt vor, um die Datei web.xml anzupassen:
  1. Klicken Sie in Ihrem Webprojekt mit der rechten Maustaste auf den Implementierungsdeskriptor und klicken Sie auf die Registerkarte Seiten.
  2. Geben Sie im Feld Anmelden die Authentifizierungsmethode an (zum Beispiel Formular, wofür die Verwendung von Anmelde- und Fehlerseiten erforderlich ist) und geben Sie das entsprechende Detail an (zum Beispiel Verweise auf die entsprechenden Anmelde- und Fehlerseiten).

Anmelde- und Fehlerseiten erstellen

Wenn Sie die Formularauthentifizierungsmethode verwenden, können Sie die folgenden JSP-Seiten anpassen:

  • Beispielanmelde-JSP
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 
        Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
      </head>
      <H1>Login Page</H1>
      <body>
        <form method="POST" action="j_security_check">
          User Name : <input type="text" name="j_username"/>
          Password  : <input type="password" name="j_password"/>
          <input type="submit" value="Login"/>
        </form>
      </body>
    </html>
  • Beispielfehler-JSP
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
      </head>
      <H1>Login Error Page</H1>
      <body>
    	 Status   =  Login Error !!!
      </body>
    </html>

Benutzer und Gruppen in application.xml zuweisen

Ein Bereitsteller (üblicherweise ein Systemadministrator) ordnet jede Sicherheitsrolle bestimmten Benutzern und Gruppen zu. Der Bereitsteller führt diese Zuordnung durch Anpassen der EAR-Projektimplementierungsbeschreibung (application.xml) durch, in der Regel durch Bearbeiten der Einstellungen auf der Registerkarte 'Sicherheit' für diese Datei.

Systemfunktionen zur Unterstützung der JEE-Sicherheit verwenden

Die folgenden sicherheitsrelevanten Funktionen aus der Systembibliothek J2EELib sind in jedem JSF-Handler verfügbar, unabhängig vom Authentifizierungstyp.

Feedback