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.
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.
Wenn Sie die Formularauthentifizierungsmethode verwenden, können Sie die folgenden JSP-Seiten anpassen:
<%@ 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>
<%@ 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>
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.
Die am häufigsten verwendeten Authentifizierungsmethoden sind FORM (dabei kann sich der Benutzer ohne Beenden der Browsersitzung abmelden) und das sicherere CLIENT_CERT (Client Certification = Clientzertifizierung); dabei werden die Authentifizierungsdaten verschlüsselt und der Server muss optional ein Sicherheitszertifikat prüfen, bevor geprüft wird, ob die Daten akzeptiert werden können).
Mithilfe des Laufzeitwissens über die Rolle eines Benutzers wird ein direktes Verarbeiten der Anwendung entsprechend den Berechtigungsregeln ermöglicht.