アプリケーションの現在のセットアップは、JBoss サーバーを使用した JSF です。ログインに失敗したページに移動する既存のレルム認証に加えて、追加のロジックを含めたいと思います。Realm(Java) から成功した pricinpal を無効にするものを探しています。
シナリオ: ユーザーは正しいパスワードを入力してログインしましたが、ログインを許可しない特定の条件があります。
構成:
スタンドアロン.xml
<security-domain name="login">
<authentication>
<login-module code="Database" flag="sufficient">
<module-option name="dsJndiName" value="java:/datasource"/>
<module-option name="principalsQuery" value="query"/>
<module-option name="rolesQuery" value="query"/>
<module-option name="hashAlgorithm" value="???"/>
<module-option name="hashEncoding" value="???"/>
<module-option name="principalClass" value="org.jboss.security.SimplePrincipal"/>
</login-module>
</authentication>
</security-domain>
jboss-web.xml
<jboss-web>
<security-domain>login</security-domain>
</jboss-web>
顔-config.xml
<login-config>
<auth-method>FORM</auth-method>
<realm-name>ApplicationRealm</realm-name>
<form-login-config>
<form-login-page>login.html</form-login-page>
<form-error-page>login-error.html</form-error-page>
</form-login-config>
</login-config>
簡単な変更にもかかわらず、非常に簡単ではないアイデアはほとんどありませんでした。
- セッションからプリンシパルを削除し、ログイン ページでチェックされるパラメーターを設定します (単一のログイン ページのみ)
- カスタムレルムログインモジュールを書く
ありがとうございました