问题:我希望公司客户端的用户使用本地LDAP凭据对我的Web服务器进行身份验证。用户具有可以使用本地LDAP服务器进行身份验证的本地桌面客户端。我的服务器和LDAP服务器之间没有交谈。
我知道如果Web服务器将LDAP请求中继到LDAP服务器,则可以使用LDAP在Web服务器上进行身份验证。 (用户/桌面客户端连接到Web服务器,发送凭据,Web服务器与LDAP服务器交互以进行身份验证)
但桌面客户端是否有办法通过本地LDAP服务器进行身份验证,然后连接到Web服务器,发送可以授予Web服务器访问权限的令牌? (用户使用ldap进行身份验证,将ldap响应发送到网络服务器)
我不是在谈论Oauth,它需要两台服务器进行通话。在这种情况下,LDAP服务器与外部联系隔离。
这里的一个大问题是你永远不要相信客户,即使你自己写了。公共/私有身份验证之类的东西(可能)也不起作用,因为问题不是加密,而是确保消息来自LDAP服务器“OK”。一个流氓客户端可以伪造OK然后签名。
答案 0 :(得分:1)
如果我正确理解您的问题,那么您正在寻找一种方法,让您的桌面客户端使用用户的域凭据与您的Web应用程序通信。
这应该很容易使用像ADFS这样的东西。如果在客户端Active Directory域中运行ADFS,则桌面客户端可以使用Kerberos从中获取令牌。然后,它可以使用此令牌对您的Web应用程序进行身份验证。
您需要将Web应用程序配置为信任客户域中ADFS实例颁发的令牌。
答案 1 :(得分:1)
ADFS可能有效,但没有必要。您应该考虑使用SPNEGO,因为它不需要ADFS基础结构。