java - 在 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);
}
解决方案
我猜这是因为您尝试在服务器节点启动之前创建连接。
接下来试试:
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>
推荐阅读
- delphi - 如何从动态间隔的帧中编码实时视频?
- javascript - 等到 take 完成的操作不起作用(redux saga)
- action - 从谷歌操作发布谷歌助手应用程序时如何修复“未能提交操作模板”
- javascript - 如何使用js在按钮上启动特定的音频流
- mysql - 需要一个查询来从两个具有公共和不公共列的表中执行该表
- javascript - .text 不是函数 - jquery
- c# - 为什么 MongoDB 中的多个会话比一个会话快?
- laravel - Laravel "\Request::route()->getName()" 给出空结果
- automation - 在 Java 自动化期间,Blueprism 资源 pc 被自动终止
- ios - 模型数组中的 UITableView 和单元格