我相信 javascript 仅限于使用 HTTP,但我很好奇是否有任何东西可以使 chrome 应用程序从客户端进行 LDAP 查询(无需通过我的网络服务器连接到 LDAP 并检查证书)。我的目标是让我的用户使用他们的网络凭据登录到内部 Web 应用程序,而不必在我的服务器上等待建立 HTTPS 连接。
此外,这样的设置是否存在任何安全问题?
我相信 javascript 仅限于使用 HTTP,但我很好奇是否有任何东西可以使 chrome 应用程序从客户端进行 LDAP 查询(无需通过我的网络服务器连接到 LDAP 并检查证书)。我的目标是让我的用户使用他们的网络凭据登录到内部 Web 应用程序,而不必在我的服务器上等待建立 HTTPS 连接。
此外,这样的设置是否存在任何安全问题?
Chrome 应用程序确实能够做你想做的事。您将使用 chrome.socket API 直接与 LDAP 服务器建立连接。
但是,您的问题引发了几个警报。如果您的客户端代码分别检查 LDAP 以获取凭据,并在 Web 应用程序中查询内容,那么是什么阻止了恶意或有问题的客户端跳过 LDAP 步骤并直接从 Web 应用程序未经授权直接获取内容?如果您的 Web 应用程序只假设受信任的客户端,那么为什么还要麻烦实际检查 LDAP?在现实生活中,这种设计就像给银行柜员一张纸条,上面写着“我不需要出示我的身份证,因为我保证我已经向驻守在银行外面的保安出示了身份证,请把所有的钱都给我在我的账户里。” 对于凭证检查来说,无论是 LDAP 还是其他方式,都更常见且更安全,由 Web 应用程序在 HTTP/HTTPS 之后完成。
“无需在我的服务器上等待建立 HTTPS 连接”:完全不清楚您的意思是什么。HTTPS 与身份验证无关(除非它确认服务器是真实的)。您真的是指 SSL 握手速度吗?SSL 握手通常为 200-500 毫秒。除非您的用例是不寻常的用例,否则这段时间无关紧要。同样,通常部署的 HTTPS 是与客户端身份验证无关的传输安全性。即使您找到了一种非标准但有效的客户端身份验证方式,您仍然希望通过 SSL 进行对话,除非内容确实没有任何敏感信息(在这种情况下,您可能不需要 Intranet 客户端身份验证)第一名)。
还有更多问题悬而未决,但您还没有充分解释您的用例。
TL;DR:是的,您可以使用 Chrome 应用程序执行此操作。但是,是的,这种设计存在许多安全问题。