java - WIldfly - 身份验证成功后的sql查询

标签 java sql authentication authorization wildfly

我想知道在正确的身份验证和授权后是否可以从 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>

最佳答案

您无法在 PicketBox(JBoss/Wildfly 的旧安全模块)数据库登录模块中配置它。您必须编写自己的自定义 LoginModule(参见此处: http://www.mastertheboss.com/jboss-server/jboss-security/creating-a-custom-jboss-login-module )

也许这也是迁移到新安全模块 Elytron 的机会,该模块不再提供 LoginModules,但支持 jdbc-realm,您可以在其中直接查询数据库。 (参见此处https://docs.jboss.org/author/display/WFLY/Database+Authentication+Migration)

关于java - WIldfly - 身份验证成功后的sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58877889/

相关文章:

java - 反转非常大的整数的最省时的算法/代码是什么?

java - Bluemix Java Liberty Server 应用程序启用应用程序调试灰显

Java:字节算术运算

java - 使用 nimbus 自定义 JComboBox

c# - Access SQL 查询缺少更多必需的参数

php - 获取时检查行是否存在的最快方法是什么?

sql - 使用 SQL 搜索精确值

cakephp - 如何测试用户是否在 Cakephp 2.0 auth 组件中处于事件状态?

wordpress - 使用 WordPress 凭据登录 Flutter

php - 登录脚本无法在实时服务器上运行