kennt jemand eingebettete Kerberos-Server (KDC / KAdmin), die in Java geschrieben sind und nur innerhalb des JVM-Prozesses (etwa Hadoop-Minicluster oder eingebettete LDAP-Server) ausgeführt werden können?
Mein Ziel ist es, Leute inteptests ausführen zu lassen, die eine Kerberos-Authentifizierung erfordern, ohne den lokalen Kerberos-Server installieren zu müssen / den entfernten Server und die Verbindung zu ihm zu konfigurieren.
ich war / ist für so etwas auch, aber das ist einfach nicht wirklich möglich, weil Sie einen voll funktionsfähiger DNS-Server für diese benötigen. Ein vollständig entkoppeltes System ist notwendig. Sie können dies über die Virtualisierungs-Maven-Plugin und eine Gruppe von virtuellen Maschinen in VirtualBox erreichen mit ein internes Netzwerk.
LDAP-Server werden Ihnen überhaupt nicht helfen, weil sie absolut nichts mit GSS-API und Kerberos machen. SASL macht alles, indem er auth an das nächste verfügbare KDC delegiert.
Sie benötigen KDC und DNS-Server. Sie können Samba 4 auf einer Maschine versuchen, eine zweite einrichten, die sich anschließt die Domäne. Installieren Sie Hadoop darauf, fügen Sie ein drittes hinzu (Client), verbinden Sie sich und führen Sie Tests von dort aus.
Es scheint, wie Sie Apache DS ein KDC Nachahmer haben: Ссылка
Ich habe ein Embedded LDAP für einen ähnlichen Zweck geschrieben und kann es auch zum Testen mit Kerberos verwenden, besonders nützlich für Fälle wie das Testen von Hadoop Kerberos Tests.
Sie können sich auch die Klasse zum Schreiben eingebetteter JUnit-Tests ansehen Ссылка
Kann für Sie nützlich sein.
Tags und Links java embedded kerberos integration-testing