您如何使基于浏览器的应用程序的身份验证依赖于客户端计算机?假设管理员只能从这台机器登录。
假设:对网络和所涉及的所有机器(客户端和服务器)有完全的控制。
我正在寻找一个 apache/linux 解决方案。
您如何使基于浏览器的应用程序的身份验证依赖于客户端计算机?假设管理员只能从这台机器登录。
假设:对网络和所涉及的所有机器(客户端和服务器)有完全的控制。
我正在寻找一个 apache/linux 解决方案。
你需要想出一些方法来识别这台机器。在您的应用程序中什么是重要的?物理位置?IP地址?
如果您可以完全控制机器,我会将 SSL 与客户端证书一起使用,并将客户端证书仅放在必须使用的机器上。有关如何使用 Apache 进行配置的详细信息,请参见此处
正如那篇文章所说,您可以将 Apache 设置为需要证书、用户名和密码,并将连接限制为特定的 IP 地址。
编辑:您不需要单独的 Web 服务器来使用客户端证书。
根据您的应用程序的工作方式,您可能需要一个单独的 URL。
请注意,该示例仅为某个目录配置证书
<Directory "/www/hidden/docs">
. 因此,让某些类别的用户以不同的方式登录,或者在登录后将它们重定向到您网站的受客户端证书保护的部分
如果您担心恶意尝试在网络上欺骗客户端工作站,您可以考虑在客户端和服务器上设置 IPSEC,然后您可以简单地使用 IP 地址并将其视为受信任 - 即使用标准 Apache 技术来控制通过IP访问。
或者,如果您认为您的网络受信任,只需给客户端一个静态 IP 并使用标准 apache 技术来限制 IP 访问。
两者都需要在网络级别进行一些管理工作,但好处是您不需要更改应用程序。