我想知道在正确的身份验证和授权之后,是否可以从wildfly级别进行额外的查询。在正确登录到数据库之后,我需要向数据库(SQL)添加关于登录日期的信息记录。有没有可能从xml级别做到这一点?(我使用的是wildfly 17,配置如下)
<authentication>
<login-module code="LdapExtended" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.security.protocol" value="ssl"/>
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="java.naming.provider.url" value="ldaps://xxx.xxx.xxx:636"/>
<module-option name="bindDN" value="cn=xxx,dc=xxx,dc=xxx"/>
<module-option name="bindCredential" value="xxx"/>
<module-option name="baseCtxDN" value="ou=xxx,dc=xxx,dc=xxx"/>
<module-option name="baseFilter" value="(uid={0})"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
<module-option name="allowEmptyPasswords" value="true"/>
<module-option name="defaultRole" value="xxx"/>
</login-module>
<login-module code="Database" flag="required">
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="dsJndiName" value="java:/xxxJNDI"/>
<module-option name="rolesQuery" value="query for roles)"/>
</login-module>
</authentication>发布于 2019-11-16 01:51:29
您不能从PicketBox (JBoss/Wildfly的旧安全模块)数据库LoginModule中配置它。您必须编写自己的自定义LoginModule (例如,请参阅此处:http://www.mastertheboss.com/jboss-server/jboss-security/creating-a-custom-jboss-login-module)
也许这也是迁移到新的安全模块Elytron的机会,Elytron不再提供LoginModules,但支持jdbc领域,您可以在其中直接查询数据库。(请参阅此处https://docs.jboss.org/author/display/WFLY/Database+Authentication+Migration)
https://stackoverflow.com/questions/58877889
复制相似问题