无法使用 Ignite 中新创建的 username/password 登录 SQL

Not able to login to SQL with a newly created username/password in Ignite

我在 Ignite 中通过 SQL 连接创建了一个具有给定 name/password 的用户。尝试连接时失败并出现以下错误。我已经重设了两次密码,还是无法登录

Error: Authentication doesn't support by remote server[driverProtocolVer=ClientListenerProtocolVersion [major=2, minor=7, maintenance=0], remoteNodeProtocolVer=ClientListenerProtocolVersion [major=0, minor=0, maintenance=0], err=The user name or password is incorrect [userName=ignitetest], url=jdbc:ignite:thin://lvenignapp001u.enbduat.com:10800/PUBLIC] (state=08004,code=0)
java.sql.SQLException: Authentication doesn't support by remote server[driverProtocolVer=ClientListenerProtocolVersion [major=2, minor=7, maintenance=0], remoteNodeProtocolVer=ClientListenerProtocolVersion [major=0, minor=0, maintenance=0], err=The user name or password is incorrect [userName=ignitetest], url=jdbc:ignite:thin://lvenignapp001u.enbduat.com:10800/PUBLIC]
        at org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:377)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:224)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:145)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensureConnected(JdbcThinConnection.java:150)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<init>(JdbcThinConnection.java:137)
        at org.apache.ignite.IgniteJdbcThinDriver.connect(IgniteJdbcThinDriver.java:155)
        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:156)
        at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204)
        at sqlline.Commands.close(Commands.java:907)
        at sqlline.Commands.quit(Commands.java:871)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
        at sqlline.SqlLine.dispatch(SqlLine.java:791)
        at sqlline.SqlLine.begin(SqlLine.java:668)
        at sqlline.SqlLine.start(SqlLine.java:373)
        at sqlline.SqlLine.main(SqlLine.java:265)

检查您是否明确地为您的服务器启用了身份验证。 来自 docs:

<!-- Enabling authentication. -->
<property name="authenticationEnabled" value="true"/>

请注意,您还需要为集群配置持久性。

您必须在 SQL 查询中用引号将用户名引起来

使用密码 'test' 创建用户 "test"; -- 用户将被创建为 test

使用密码创建用户测试'test'; -- 用户将被创建为 TEST - 全部大写

请确保您在输入连接凭据时在用户名中使用了正确的大小写。

原始答案的来源:http://apache-ignite-users.70518.x6.nabble.com/Ignite-user-create-modify-trouble-tp21861p21887.html