Jakarta ee 使用自定义表单和基本标识存储时,AuthenticationStatus返回未完成

Jakarta ee 使用自定义表单和基本标识存储时,AuthenticationStatus返回未完成,jakarta-ee,jdbc,glassfish,jaspic,jacc,Jakarta Ee,Jdbc,Glassfish,Jaspic,Jacc,我花了几天的时间更新自己到Java EE 8,在一起使用@CustomFormAuthenticationMechanismDefinition和@DatabaseIdentityStoreDefinition时遇到了一个问题 我正在使用GlassFishV5、Netbeans9和Java8 我所做的只是想更新security soteria(Java EE security 1.0 RI)test文件夹中的,我所做的更改是使用@DatabaseIdentityStoreDefinition替换

我花了几天的时间更新自己到Java EE 8,在一起使用
@CustomFormAuthenticationMechanismDefinition
@DatabaseIdentityStoreDefinition
时遇到了一个问题

我正在使用GlassFishV5、Netbeans9和Java8

我所做的只是想更新security soteria(Java EE security 1.0 RI)test文件夹中的,我所做的更改是使用
@DatabaseIdentityStoreDefinition
替换基于内存的虚拟
IdentityStore

当我启动应用程序并尝试登录时,从NetBeans控制台获得以下信息

Info:   Activating javax.security.enterprise.identitystore.DatabaseIdentityStoreDefinition identity store from com.hantsylabs.example.ee8.security.ApplicationConfig class
Info:   Activating javax.security.enterprise.authentication.mechanism.http.CustomFormAuthenticationMechanismDefinition authentication mechanism from com.hantsylabs.example.ee8.security.ApplicationConfig class
Warning:   RAR8705: Invalid value for property dynamic-reconfiguration-wait-timeout-in-seconds : null
Info:   initializing database...
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   Initializing Soteria 1.0 for context '/security-custom-form-db'
Info:   Registering WebSocket filter for url pattern /*
Info:   Initializing Mojarra 2.3.2 ( 20170627-2139 e63598abf2ed2bb1a24674f308a734e0dce18a72) for context '/security-custom-form-db'
Info:   Monitoring jndi:/server/security-custom-form-db/WEB-INF/faces-config.xml for modifications
Info:   Loading application [_Security_1.0:_Custom_Form_Authentication_with__DatabaseIdentityStoreDefinition] at [/security-custom-form-db]
Info:   _Security_1.0:_Custom_Form_Authentication_with__DatabaseIdentityStoreDefinition was successfully deployed in 3,288 milliseconds.
Warning:   RAR8705: Invalid value for property dynamic-reconfiguration-wait-timeout-in-seconds : null
Info:   RAR7115: Unable to set ClientInfo for connection
Info:   authentication result:NOT_DONE
信息:身份验证结果:未完成从我的
登录栏
,打印返回的
身份验证状态

我的安全配置文件是:

@CustomFormAuthenticationMechanismDefinition(
        loginToContinue = @LoginToContinue(
                loginPage = "/login.faces",
                errorPage = "" // DRAFT API - must be set to empty for now
        )
)
@DatabaseIdentityStoreDefinition(
        dataSourceLookup = "${'java:global/MyDS'}",
        callerQuery = "#{'select password from caller where name = ?'}",
        groupsQuery = "select group_name from caller_groups where caller_name = ?",
        hashAlgorithm = Pbkdf2PasswordHash.class,
        priorityExpression = "#{100}",
        hashAlgorithmParameters = {
            "Pbkdf2PasswordHash.Iterations=3072",
            "${applicationConfig.dyna}"
        } // just for test / example
)
@ApplicationScoped
@Named
public class ApplicationConfig {

    public String[] getDyna() {
        return new String[]{"Pbkdf2PasswordHash.Algorithm=PBKDF2WithHmacSHA512", "Pbkdf2PasswordHash.SaltSizeBytes=64"};
    }

}
我还包括了
数据库设置
,用于在应用程序启动时插入用户。该文件是从中复制的

我的完整代码可以找到

在项目中无缝使用
@CustomFormAuthenticationMechanismDefinition
@DatabaseIdentityStoreDefinition
的正确方法是什么


更新,我刚刚尝试使用
@FormAuthenticationMechanismDefinition
@DatabaseIdentityStoreDefinition
,它有效,代码是。那么这是
@CustomFormAuthenticationMechanismDefinition
的一个bug吗?我的应用程序中也有同样的问题。 添加
.newAuthentication(true))验证参数对我很有帮助