フォーム認証を使用し、ダイジェストされたパスワード (SHA-256 など) を使用するバニラ コンテナー管理セキュリティをセットアップする方法を知っています。このようなもの:
web.xml
<login-config>
<auth-method>FORM</auth-method>
<realm-name>jdbc</realm-name>
<form-login-config>
<form-login-page>/login.jsf</form-login-page>
<form-error-page>/login-error.jsf</form-error-page>
</form-login-config>
</login-config>
login.xhtml
<form action="j_security_check">
<p><label>
Username:<br/>
<input type="text" name="j_username" />
</label></p>
<p><label>
Password:<br/>
<input type="password" name="j_password" />
</label></p>
<p>
<button type="submit">Submit</button>
</p>
</form>
かなり単純ですが、私が本当にやりたいのは、パスワードをグローバルソルトとユーザー名でソルトすることです。はい、これが理想的ではないことは承知していますが、現在、概念実証を構築しているところです。
コンテナー (この場合は GlassFish 3) でこれを実行できますか? それとも、独自のログイン フィルターを作成する必要がありますか? 以前に (J2EE アプリケーション用に) 実行したことがありますが、Java EE 6 を使用するようになった今では、より厳密な方法で実行する必要があることがわかりました。