我有Windows站点和一个Linux服务器 – 我想要使用Windows-Kerberos(通过活动目录 – 与Windows站点上的所有用户使用相同的一个)执行SSO。
所以 – 我search了许多实现这个目标的例子和方法:Samba,Winbind,tomcat-spengo(它要求服务器进程在一个域上运行),Waffle(它只能在Windows服务器上运行)等等。
我感到非常沮丧,因为我无法find这个案例的简单教程/例子,即使它看起来像一个简单的例子。
我错过了什么? 这个解决scheme真的很简单吗?
谢谢。
不知道如何在Java中这样做 – 但是:有办法让Apache处理SSO(MIT Kerberos或Winbind),并使用HTTP或AJP将REMOTE_USER传递给Tomcat。 这在过去对我有效。
这是什么是必要的粗略轮廓。 里程可能有所不同,但它应该给你一个坚实的学习起点。
LDAP源并不重要。 在你的情况下,它是Active Directory。 重要的是你的用户和组对象被填充了正确的RFC2307属性 。 RFC2307为每个用户和组对象定义标准的LDAP属性,这些属性将对应于/ etc / passwd , / etc / shadow和/ etc / group中的字段。 当你的Linux服务器去查找一个用户或组时,它会假设这些特定的属性在运行查询时被填充。
根据您的发行版本和它的年龄,您可能会使用nss_ldap或nss-pam-ldapd 。 这些库是PAM将用于实际进行LDAP查询的内容。 这些configuration文件是指定AD服务器,用户/组OU和filter,属性映射(如果需要)等的位置。
最后,您需要实际告诉Linux使用LDAP作为其用户和组信息的来源之一。 这由/etc/nsswitch.conf处理。 这个文件是数据库到信息源的简单映射。 在你的情况下,你只需要将“ldap”添加到“passwd”,“shadow”和“group”数据库的列表中。
快乐的黑客!