我一直在为内部网络创建身份验证和授权服务。该服务接受传入的HTTP请求,并将它们代理到其他内部服务(主要是管理网站)。要对用户进行身份验证,我的服务使用UnboundID SDK通过LDAP连接到我们的公司Microsoft Active Directory。然后,它基于由用户所属的组驱动的一组规则,授权用户管理网站中的不同资源/方法。我使用BASIC auth(当然使用SSL和LDAPS)可以很好地工作。该服务使用clojure / java编写,并在linux机器上的jetty中运行。
但是,我要求更多!! :-)我真正想要实现的是使用Kerberos(或者可能是NTLM)执行用户身份验证,因为我们的许多用户将在连接到公司域的Windows PC上。我希望为这些用户提供正确的单点登录体验。
这可以通过更多编码/与UnboundID SDK集成来实现,还是需要更改我的架构设置方式?
如果有可能,你能否提出一些我可能会如何做的例子?或者提供有关如何在此实例中使用UnboundID SDK的指示?我还可以在协商过程中向右侧标题发送一些帮助。如果没有,你会对不同的方法提出什么建议?考虑到我一直在做的阅读,我感觉我想要做的事情可能并不容易,甚至可能。
答案 0 :(得分:1)
我最近一直在寻找相同的东西,即使我还没有尝试过,但它确实看起来像那样。 GSSAPIBindRequest据说可用于Kerberos支持,并且具有如何使用它的代码示例:
https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/GSSAPIBindRequest.html