2

我相信 javascript 仅限于使用 HTTP,但我很好奇是否有任何东西可以使 chrome 应用程序从客户端进行 LDAP 查询(无需通过我的网络服务器连接到 LDAP 并检查证书)。我的目标是让我的用户使用他们的网络凭据登录到内部 Web 应用程序,而不必在我的服务器上等待建立 HTTPS 连接。

此外,这样的设置是否存在任何安全问题?

4

1 回答 1

5

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 应用程序执行此操作。但是,是的,这种设计存在许多安全问题。

于 2013-09-04T17:12:14.160 回答