绝对不!NTLM 和 Kerberos 的运作方式完全不同。首先,我强烈建议您尽快摆脱 NTLM。
如果您可以访问 C 接口,您可以轻松地解决您的问题。我还假设您在 CentOS 或 FreeBSD 等类 Unix 操作系统上使用 MIT Kerberos。
NTLM 将为您提供下级登录名。您首先需要通过 LDAP(使用libopenldap
)将 NetBIOS 域转换为 DNS 域,然后您可以为您的客户端构建 Kerberos 主体或企业主体。然后在您的 KDC 中创建一个服务帐户,并在该帐户上为目标服务启用协议转换和约束委派。现在代表该用户主体请求 TGT 并为用户请求服务票证,瞧,您可以访问您的 Kerberos 后端。这是一本不错的读物:https ://k5wiki.kerberos.org/wiki/Projects/Services4User
如果你运行 HTTPd 作为你的反向代理,它可能会为你处理所有的魔法mod_auth_gssapi
。
在 Windows 上,安全 API 和 SSPI 有点麻烦。而主要的转换是免费的 Windows。您将需要LsaLogonUser
with KERB_S4U_LOGON
,模拟该句柄,然后要求 SSPI 获取一个 cred 句柄...