我们有 Windows Active Directory,所有用户都在其中注册并用于登录 Windows。
我们有一个 Apache 服务器配置为使用 LDAP 来验证该 Active Directory 中的用户。它的设置是这样的,在 PHP 中,我们所要做的就是调用$_SERVER['REMOTE_USER']
. 浏览器验证 Windows 中的用户登录并将此数据发送到 Apache,Apache 与 LDAP 对话以验证身份验证。当 LDAP 进行身份验证时,该代码返回用户的登录名,否则返回 null。
通过这种方式,我们可以安全轻松地在 PHP 中验证用户身份,并使用他们的 AD 登录来控制对我们软件的访问。另一个优点是我们不需要登录页面,甚至不需要处理变量中的密码:身份验证对用户透明地处理,他们一直自动登录到我们的软件,他们的密码永远不会进入我们的代码。
我想用 Servlet 做同样的事情。如果它与 PHP 一起使用,我认为没有理由不会发生这种情况。但我找不到该怎么做。我用谷歌搜索但找不到任何东西。有没有人做过类似的事情并且可以指出我的方法?
使用登录名和密码的标准身份验证在 Java 中运行。如果我有域、登录名和密码(在 Servlet 中来自登录页面),我可以验证任何用户。