首页 > 解决方案 > 在 ignite 中启用身份验证

问题描述

我正在运行此代码,我想在 apache ignite 2.7.6 中启用身份验证。它仍然显示authentication = off

如何启用身份验证?

public static void main(String[] args) throws ClientException, Exception {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ignite_sample","root","99@Jj");
    // Apache Ignite node configuration.
    IgniteConfiguration cfg = new IgniteConfiguration();

    // Ignite persistence configuration.
    DataStorageConfiguration storageCfg = new DataStorageConfiguration();

    // Enabling the persistence.
    storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);

    // Applying settings.
    cfg.setDataStorageConfiguration(storageCfg);

    // Enable authentication
    cfg.setAuthenticationEnabled(true);

    Ignite ignite = Ignition.start(cfg);
}

标签: javaserverignite

解决方案


我猜这是因为您尝试在服务器节点启动之前创建连接。

接下来试试:

1)使用 authenticationEnabled=true 和 persistenceEnabled=true 启动服务器(默认区域)

2)然后运行下一个:

// Register JDBC driver.
Class.forName("org.apache.ignite.IgniteJdbcThinDriver");

// Open the JDBC connection.
try (Connection conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1:10800?" +
    "user=client&password=password"))
{
    conn.createStatement().executeQuery("select 1");
    System.out.println("Done");
}
catch (SQLException e) {
    e.printStackTrace();
    }

更新:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util.xsd">

    <!-- Ignite configuration. -->
    <bean class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="authenticationEnabled" value="true"/>

        <property name="dataStorageConfiguration">
            <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="defaultDataRegionConfiguration">
                    <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="persistenceEnabled" value="true"/>
                    </bean>
                </property>
            </bean>
        </property>

        <!-- TCP discovery SPI -->
        <property name="discoverySpi">
            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="ipFinder">
                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                        <property name="addresses">
                            <list>
                                <value>127.0.0.1:47500</value>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>
    </bean>
</beans>

推荐阅读