当前应用程序的设置是带有 JBoss 服务器的 JSF。我想在导航到登录失败页面的现有领域身份验证中包含其他逻辑。寻找使 Realm(java) 中的成功原理无效的东西。
场景:用户输入了正确的密码和登录名,但有某些情况不允许他登录。
配置:
独立的.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>
尽管进行了简单的更改,但我的想法很少,我认为这些想法并不容易。
- 从会话中删除主体并设置登录页面上检查的参数(仅限单个登录页面)
- 编写自定义领域登录模块
谢谢