如何在 scala play web 应用程序中进行集成 Windows 身份验证 (IWA)

How to do Integrated Windows Authentication (IWA) in a scala play web application

我努力让自己熟悉 Windows(NTLM v1、NTLM v2、Keberos、LDAP..)的不同身份验证协议,基于这种理解,我相信 NTLM(v1/2) 应该是目标实现。

我有一个用 Scala Play 开发的简单 Web 应用程序,我希望它具有基于用户 AD 凭据的登录功能(手动或通过现有工作站会话)。

话虽如此,我正在努力让它发挥作用。我发现网络上的一些图书馆大多缺乏文档记录,而其他图书馆仅供商业使用。

有关如何使其正常工作的简单示例或资源将非常有用。

您可以在JCIFS上试一试,示例代码如下:

        Config.setProperty("jcifs.smb.client.connTimeout", "1000");
        InetAddress ip = InetAddress.getByName("domainControler"); 
        UniAddress myDomain = new UniAddress(ip);
        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain_name", user_name, password);
        try{
            SmbSession.logon(myDomain, auth);
        }catch(Exception sme){
            //Login failed.
        }