サーブレットコンテナにいわゆる「LDAP レルム」を作成する必要があります。これを行う方法は、使用するサーブレットコンテナによって異なります。使用されているサーブレット コンテナに関する詳細を提供していないため、適切な回答を提供することは困難ですが、一般的には、レルム構成に関するサーブレット コンテナのドキュメントを読むだけで十分です。たとえば Tomcat の場合、それはRealm Configuration HOW-TOです。Tomcat の場合、JNDIRealm. 詳細については、JSP wikiを参照してください。
<security-constraint>次に、 で適切なエントリを宣言して、特定のページへのログインを要求するように Web アプリケーションを構成する必要がありますweb.xml。ログインページとエラーページは<login-config>、まったく同じ の entry で構成できますweb.xml。
<security-constraint>
    <web-resource-collection>
        <web-resource-name>secured</web-resource-name>
        <url-pattern>/secured/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>X</role-name> <!-- Should be your AD group name. -->
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.xhtml</form-login-page>
        <form-error-page>/error.xhtml</form-error-page>
    </form-login-config>
</login-config>
ログインフォームは POST し、入力フィールド名としてandj_security_checkを使用する必要があります。j_usernamej_password
<form action="j_security_check" method="post">
    <input type="text" name="j_username" />
    <input type="password" name="j_password" />
    <input type="submit" value="login" />
</form>
検証をよりきめ細かく制御し、JSF などを使用したい<h:inputText required="true" />場合は、バッキング Bean アクション メソッドにサブミットすることもできますHttpServletRequest#login()。j_security_check を使用した Java EE / JSF でのユーザー認証の実行も参照してください。
ログインしたユーザーの名前を取得するにはExternalContext#getRemoteUser()、JSF コンテキストまたはHttpServletRequest#getRemoteUser()サーブレット コンテキストで使用します。次のように、JSF EL でアクセスできます。
<p>Welcome, #{request.remoteUser}</p>
システム プロパティは実際にサーバー自身のユーザーを返しますが、このコンテキストではまったく意味がありません。