【问题标题】:How to configure Tomcat to use Windows NTLM authentication?如何配置 Tomcat 以使用 Windows NTLM 身份验证?
【发布时间】:2009-01-13 14:27:39
【问题描述】:

我想对 Tomcat 使用 NTLM 身份验证,以便 Iexplorer 自动将用户 id+pwd 发送到 webapp。这可能吗?

使用“BASIC”身份验证 IE 会弹出通常的密码对话框,但我想跳过此对话框。 (注意,我使用的是 JNDIReal/ldap)

【问题讨论】:

    标签: authentication tomcat active-directory


    【解决方案1】:

    是的,现在可以使用支持协商(NTLM v1、v2 等和 Kerberos)的 Waffle Tomcat Authenticator。

    Waffle 仅适用于 Windows 服务器

    【讨论】:

    • Waffle 是 Windows 上的 tomcat 顺便说一句。
    【解决方案2】:

    是的。 Tomcat Wiki 引用了一个关于 Samba 代码的 documentation,它使 Tomcat 能够进行 NTLM 身份验证。

    Samba 社区实现了一个 Servlet 过滤器,它允许对域控制器的用户进行身份验证。

    【讨论】:

      【解决方案3】:

      或者,如果您使用的是 Windows 服务器,则可以让 IIS 进行身份验证并将请求重定向到 Tomcat。这是文档:http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

      【讨论】:

        【解决方案4】:
        • JCIF 现在 (2011) 已弃用(不支持 NTLM v2)。
        • JESPA 不是免费的,但可能适合您
        • Waffle 仅适用于 Windows 服务器

        您可能想查看 UnboundID 的 LDAP 解决方案 www.unboundid.com/products/ldapsdk/ 还没有尝试过,但似乎是一种妥协。

        这里是 UnboundID SDK、JNDI 和 Netscape SDK 之间的快速比较:www.unboundid.com/products/ldap-sdk/docs/advantages/comparison.php。它可能有偏见,因为它在 unbound 的网站上,但是,嘿,让你知道为什么你可能会考虑它。

        【讨论】:

          【解决方案5】:

          来自 JCIFS 项目的人(在 mkoller 的回答中再次提到)说他们提供的解决方案与 NTLMv2 不兼容...

          http://jcifs.samba.org/src/docs/ntlmhttpauth.html

          你应该检查http://www.ioplex.com/jespa.html,它不是免费的...

          【讨论】:

          • jespa 库似乎有一个免费版本,“在 60 天内支持无限数量的用户,之后将不会对超过 25 个用户进行身份验证。”
          【解决方案6】:

          我同时使用过 JCIFS、Waffle 和 IIS。

          • JCIFS 不支持 NTLM v2,有时会提示用户
          • Waffle 支持 NTLM v2,但有时会提示用户
          • IIS 是唯一可以 100% 进行无提示 NTLM 身份验证的解决方案

          【讨论】:

            猜你喜欢
            • 2011-06-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-13
            • 1970-01-01
            • 1970-01-01
            • 2010-11-04
            相关资源
            最近更新 更多