2013-01-18 14 views
8

Czy ktoś zna wszystkie osadzone serwery Kerberos (KDC/KAdmin), które są napisane w Javie i mogą działać w ramach procesu JVM (coś takiego jak minikontroler Hadoop lub osadzone serwery LDAP)?Wbudowany w Javę serwer Kerberos do testowania

Moim celem jest umożliwienie użytkownikom uruchamiania testów integralnych wymagających uwierzytelniania Kerberos bez konieczności instalowania lokalnego serwera Kerberos/konfigurowania zdalnego serwera i połączenia z nim.

Odpowiedz

4
+0

@ Michael-O ten test demonstruje działanie KDC, które można osadzać i zaimplementować w czystej wersji Java. – kayyagari

+0

TAK: '@ CreateKdcServer'. –

+0

Tak, dziękuję - mam czas, aby wrócić do tego zadania, wygląda na to, że jest to droga. Będę próbować tego i zgłaszać się tutaj, jeśli działa zgodnie z oczekiwaniami lub nie i powoduje to nieoczekiwany ból. Dzięki Wam obojgu! – Zorkus

0

Tego też szukałem, ale to po prostu niemożliwe, ponieważ do tego potrzebny jest w pełni funkcjonalny serwer DNS. Niezbędny jest całkowicie odłączony system. Możesz to osiągnąć poprzez virtualization-maven-plugin i grupę maszyn wirtualnych w VirtualBox z siecią wewnętrzną.

Serwery LDAP w niczym wam nie pomogą, ponieważ nie robią absolutnie nic z GSS-API i Kerberos. SASL robi wszystko, przekazując auth do następnego dostępnego KDC.

Potrzebujesz serwera KDC i DNS. Możesz wypróbować Sambę 4 na jednym komputerze, a następnie ustawić drugą, która łączy domenę z domeną . Zainstaluj na nim Hadoop, dodaj trzeciego (klienta), dołącz i uruchom testy z tego miejsca.

Wydaje się, że można mieć Apache DS naśladować KDC: http://directory.apache.org/apacheds/configuration/ads-2.0-configuration.html

+0

Nie sądzę, że potrzebuję DNS, mogę dostarczyć adresy IP i używać ich, ale potrzebuję KDC zaimplementowanej jako aplikacja Java i działającej w ramach procesu testowego. Nie znalazłem jeszcze. – Zorkus

+0

Nie, to nie zadziała. Kerberos wymaga, aby DNS * nie * działał bez niego, chyba że włożysz wszystkie hosty do '/ etc/hots'. –

+0

Co jest w porządku, mogę umieścić tam wszystkie potrzebne hosty lub sprawić, żeby zawsze używały localhost dla całej komunikacji. – Zorkus

0

Mam pisemne osadzonym LDAP dla podobnych celów, a także można go używać do testowania z Kerberos, spcially użytecznej dla takich przypadkach testowania Hadoop Kerberos testów.

https://github.com/krishdey/EmbeddedLdapKDC

Można również spojrzeć na klasy do pisania osadzonego testów JUnit https://github.com/krishdey/EmbeddedLdapKDC/blob/master/EmbeddedLdapKDC/src/test/java/com/krish/ead/server/KerberosLdapIntegrationTest.java

mogą być przydatne dla Ciebie.