Java的书面内置Kerberos服务器进行测试(Java-written embedded Ker

2019-08-07 09:11发布

是任何人都知道任何嵌入的Kerberos服务器(KDC /的kadmin),这是用Java编写的,并且可以只运行中的JVM进程(像Hadoop的minicluster或嵌入式LDAP服务器)的?

我的目标是让人们运行需要Kerberos身份验证,而无需安装本地Kerberos服务器/配置远程服务器连接到它INTEG测试。

Answer 1:

你可以给Apache目录服务器( http://directory.apache.org/ )一试。 它支持LDAP和Kerberos。 见下面的例子:

http://svn.apache.org/repos/asf/directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/SaslGssapiBindITest.java



Answer 2:

我/在寻找这样的事情太多,但这个根本就不是真的有可能因为你需要为这个功能齐全的DNS服务器。 一个完全分离的系统是必要的。 您可以通过实现这种虚拟化Maven的插件 ,并与内部网络的一组中的VirtualBox虚拟机。

因为他们什么都不做,用GSS-API和Kerberos的LDAP服务器不会帮你的。 SASL通过委派身份验证到下一个可用的KDC做的一切。

你需要KDC和DNS服务器。 您可以尝试一体机,安装第二个它加入到域上的Samba 4。 在其上安装Hadoop的,添加第三个(客户端),加入并从那里运行测试。

好像你可以拥有的Apache DS模仿KDC: http://directory.apache.org/apacheds/configuration/ads-2.0-configuration.html



Answer 3:

我有一个书面的类似目的的嵌入式LDAP并且还可以使用它与Kerberos的测试,测试一样Hadoop的Kerberos的测试用例spcially有用。

https://github.com/krishdey/EmbeddedLdapKDC

您还可以看看类编写嵌入式的JUnit测试https://github.com/krishdey/EmbeddedLdapKDC/blob/master/EmbeddedLdapKDC/src/test/java/com/krish/ead/server/KerberosLdapIntegrationTest.java

可能是对您有用。



Answer 4:

Hadoop的发布可以使用的一类MiniKdc。 从MiniKdc类文档注释:

基于可嵌入在测试用例或命令行作为一个独立的KDC Apache目录服务器上赠送KDC。

https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-minikdc



文章来源: Java-written embedded Kerberos server for testing