小编Jon*_*rks的帖子

如何在Active Directory中使用NTLM身份验证

我正在尝试在我们的一个内部网站上实现NTLM身份验证,一切正常.我没有的一个难题是如何从NTLM获取信息并使用Active Directory进行身份验证.

有一个很好的描述NTLM用于密码加密,我用来实现这一点,但我不知道如何验证用户的密码是否有效.

我正在使用ColdFusion,但是这个问题的解决方案可以是任何语言(Java,Python,PHP等).

编辑:

我在Redhat Enterprise Linux上使用ColdFusion.不幸的是,我们不能使用IIS来管理它,而是必须为此编写或使用第三方工具.


更新 - 我得到了这个工作,这就是我做的

从samba.org使用了JCIFS库.

请注意,以下方法仅适用于NTLMv1,并且不适用于NTLMv2.如果您无法使用NTLMv1,您可以尝试Jespa,它支持NTLMv2但不是开源,或者您可以使用Kerberos/SPNEGO.

这是我的web.xml:

<web-app>
    <display-name>Ntlm</display-name>

    <filter>
        <filter-name>NtlmHttpFilter</filter-name>
        <filter-class>jcifs.http.NtlmHttpFilter</filter-class>

        <init-param>
            <param-name>jcifs.http.domainController</param-name>
            <param-value>dc01.corp.example.com</param-value>
        </init-param>
        <init-param>
            <param-name>jcifs.smb.client.domain</param-name>
            <param-value>CORP.EXAMPLE.COM</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>NtlmHttpFilter</filter-name>
        <url-pattern>/admin/*</url-pattern>
    </filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

现在所有匹配的URL /admin/*都需要NTLM身份验证.

authentication coldfusion ntlm http active-directory

7
推荐指数
2
解决办法
4万
查看次数