2016-05-25 14 views
1

Ich versuche, diese Anweisungen zu befolgen: https://gridgain.readme.io/docs/securing-visor für die Aktivierung der Login/Passwort-Authentifizierung in gridgain. Mein Standard-config.xml sehen folgendermaßen aus:Passwort-Authentifizierung in GridGain kann nicht aktiviert werden

<?xml version="1.0" encoding="UTF-8"?> 

<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"> 



<bean class="org.gridgain.grid.configuration.GridGainConfiguration" scope="singleton"> 
    <property name="authenticator"> 
    <bean class="org.gridgain.grid.security.passcode.PasscodeAuthenticator"> 
     <property name="aclProvider"> 
      <bean class="org.gridgain.grid.security.passcode.AuthenticationAclBasicProvider"> 
       <constructor-arg> 
       <map> 
        <entry key-ref="visor.creds" 
         value=" 
          { 
          { 
           system:[ADMIN_VIEW, ADMIN_QUERY] 
          }, 
          defaultAllow:false 
          } 
         "/> 
         </map> 
        </constructor-arg> 
       </bean> 
      </property> 
     </bean> 
    </property> 
</bean> 

<bean id="visor.creds" class="org.apache.ignite.plugin.security.SecurityCredentials"> 
    <property name="login" value="visor-user"/> 
    <property name="password" value="[email protected]"/> 
</bean> 


<!-- 
    Configuration of Ignite node. 
--> 
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> 
    <!-- 
     Apache Hadoop Accelerator configuration. 
    --> 
    <property name="hadoopConfiguration"> 
     <bean class="org.apache.ignite.configuration.HadoopConfiguration"> 
      <!-- Information about finished jobs will be kept for 30 seconds. --> 
      <property name="finishedJobInfoTtl" value="30000"/> 
     </bean> 
    </property> 


    <!-- 
     This port will be used by Apache Hadoop client to connect to Ignite node as if it was a job tracker. 
    --> 
    <property name="connectorConfiguration"> 
     <bean class="org.apache.ignite.configuration.ConnectorConfiguration"> 
      <property name="port" value="11211"/> 
     </bean> 
    </property> 


    <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>10.116.6.195:47500</value> 
         </list> 
        </property> 
       </bean> 
      </property> 
     </bean> 
    </property> 
</bean> 

Aber wenn ich versuche, Visor zu verbinden erfolgreich zu Knoten ohne Login und Passwort eine Verbindung zum Knoten. Was mache ich falsch?

Antwort

3

Sie benötigen pluginConfigurations property ("org.apache.ignite.plugin", "https://gridgain.readme.io/#configuration") innerhalb IgniteConfiguration bean mit GridGainConfiguration zu definieren, die property authenticator enthalten sollte. In meinem configuration Ich mache das so:

<bean id="visor" class="org.apache.ignite.plugin.security.SecurityCredentials"> 
    <constructor-arg value="visor"/> 
    <constructor-arg value="[email protected]@rd"/> 
</bean> 

<bean id="authenticator" class="org.gridgain.grid.security.passcode.PasscodeAuthenticator"> 
    <property name="aclProvider"> 
     <bean class="org.gridgain.grid.security.passcode.AuthenticationAclBasicProvider"> 
      <constructor-arg> 
       <map> 
        <entry key-ref="visor" 
         value="{defaultAllow:false,{system:[ADMIN_VIEW, ADMIN_OPS, ADMIN_QUERY, ADMIN_CACHE]}}" 
        /> 
       </map> 
      </constructor-arg> 
     </bean> 
    </property> 
</bean> 

<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> 
    ... 
    <property name="pluginConfigurations"> 
     <list> 
      <bean class="org.gridgain.grid.configuration.GridGainConfiguration"> 
       <property name="authenticator"> 
        <ref bean="authenticator"/> 
       </property> 

       <property name="securityCredentialsProvider"> 
        <bean class="org.apache.ignite.plugin.security.SecurityCredentialsBasicProvider"> 
         <constructor-arg ref="visor"/> 
        </bean> 
       </property> 
      </bean> 
     </list> 
    </property> 
    ... 
</bean> 
+0

Mehr besser, aber ich viele Ausnahmen, wo Schlüsselidee ist: „Fehler Knoten starten (Authentifizierung konfiguriert ist, aber die Sicherheit Anbieter von Anmeldeinformationen nicht festgelegt ist. Korrigiere die Konfiguration und starte den Knoten neu. " –

+0

Hallo, Александр! Ich habe die Eigenschaft 'securityCredentialsProvider' in der Beispielkonfiguration hinzugefügt, die ich gestern bereitgestellt habe. Hoffe das hilft. –