JSF Web アプリケーションを保護するために、 コンテナー管理セキュリティーを使用することができます。これは、JEE 対応 Web アプリケーション・サーバーで処理されます。 このトピックでは、サンプル・ログインやエラー JSP のほか、EGL セキュリティー関連の関数のリストなど、いくつかの詳細を説明します。
Web アプリケーション・サーバーの資料についても検討する場合があります。
JEE セキュリティーでは、Web リソースへのアクセス権は、クラーク や 管理者 のようなセキュリティー・ロールに基づいています。それぞれの役割は デベロッパーが割り当てたステータスであり、アプリケーション・コードが付随する JEE デプロイメント記述子 (web.xml) に保存されています。 また、特定の役割に最終的に割り当てられているユーザーが使用可能な Web ページを定義する一連の制約も、web.xml に保存されています。
フォーム認証方式を使用する場合、以下の 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>
<%@ 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>
デプロイヤー (通常はシステム管理者) は、各セキュリティー役割を特定のユーザーおよびグループに関連付けます。 デプロイヤーは、EAR プロジェクト・デプロイメント記述子 (application.xml) のカスタマイズによって (通常は、そのファイルの「セキュリティー」タブでの操作によって)、その関連を作成します。
最も使用頻度の高い認証方式は、FORM (この場合、ユーザーはブラウザー・セッションを終了せずにログアウトできます) か、より安全性の 高い CLIENT_CERT (クライアント証明書 用。認証データは暗号化されます。オプションとして、サーバーは、セキュリティー証明書を検査してからデータを受信するかどうかを決定することができます) です。
ユーザーの役割をランタイムが認識することで、アプリケーションは、許可規則に従った処理を指示することができます。