2015-02-11 11 views
5

Apache ActiveMQ tworzy bezpieczne połączenie za pomocą nazwy użytkownika i hasła.Użyj nazwy użytkownika i hasła do połączenia ActiveMQ JMS

InitialContext initCtx = new InitialContext(); 
javax.jms.ConnectionFactory qcf = (javax.jms.ConnectionFactory) initCtx.lookup(factoryName); 
Connection connection = qcf.createConnection(userName, password); 

Gdzie mogę znaleźć te dane uwierzytelniające. Czy ta nazwa użytkownika i hasło są skonfigurowane w dowolnym pliku konfiguracyjnym ActiveMQ?

Odpowiedz

-1

Czy próbowałeś połączyć bez podania nazwy użytkownika &, domyślnie powinieneś być w stanie to zrobić.

ConnectionFactory connectionFactoryProd = new ActiveMQConnectionFactory("failover://tcp://yourServerWhereActiveMqIs:61616"); 
Connection connectionProd = connectionFactoryProd.createConnection(); 
connectionProd.start(); 
+0

Tak, próbowałem. Łączy się, ale chcę ustawić dla niego nazwę użytkownika i hasło. –

+0

Obecnie pobiera dowolną nazwę użytkownika i hasło i łączy się. Ale chcę, aby zachowywał się poprawnie, jeśli dane poświadczenia byłyby błędne. –

+0

Przepraszam, ale to wyraźnie nie odpowiada na pytanie, prawda? – hschne

5

Aby odpowiedzieć na to pytanie: Rzeczywiście są, a nazwa pliku, w którym poświadczenia są zdefiniowane jest activemq.xml. Można go znaleźć w katalogu instalacyjnym ActiveMQ conf, np. C:\Program Files (x86)\apache-activemq-5.10.0\conf.

Teraz na this site są dość szczegółowe instrukcje dotyczące konfiguracji ActiveMQ użyć prostego uwierzytelniania lub usługę JAAS, ale dam ci szybki przegląd i kilka wskazówek:

  • wszystkie następujące rzeczy ma do wstawienia w sekcji wyżej wymienionego pliku XML.

  • Użyj SimpleAuthentication w celu "dodania" użytkowników do grup, np.

    <simpleAuthenticationPlugin anonymousAccessAllowed="true"> 
         <users> 
          <authenticationUser username="system" password="system" groups="users,admins"/> 
          <authenticationUser username="admin" password="admin" groups="users,admins"/> 
          <authenticationUser username="user" password="user" groups="users"/> 
          <authenticationUser username="guest" password="guest" groups="guests"/> 
         </users> 
        </simpleAuthenticationPlugin> 
    
  • Zastosowanie AuthorizationPlugin skonfigurować które grupy mają dostęp do których kolejki i tematy.

  • Jeśli zamierzasz używać SimpleAuthentication, upewnij się, że nie masz <jaasAuthenticationPlugin configuration="activemq-domain" /> w aktywnych wtyczkach. Na wypadek, gdybyś chciał skopiować tę próbkę ze strony, o której wcześniej wspomniałem.

  • Może chcesz włączyć anonimowy dostęp. Aby to zrobić, dodaj odpowiedni atrybut do węzła SimpleAuthenticatoinPlugin. Gdy to zrobisz, możesz połączyć się z kolejkami bez podania nazwy użytkownika i hasła podczas tworzenia połączenia.

Powiązane problemy