从远程Active Directory验证Windows用户

时间:2018-10-17 04:47:32

标签: c++ c windows winapi windows-authentication

我已经开发了基于C / C ++的Win64服务,该服务针对Active Directory中存在的用户执行Windows身份验证。该服务已安装在本地工厂的服务器PC上。

现在,客户端希望对位于客户端总部的服务器上的主Active Directory执行此身份验证。客户的工厂和总公司在地理位置上相互断开(大约500公里)。

有关如何使用我的服务通过Internet对主活动目录进行用户身份验证的任何建议。

当前代码:

HANDLE  token;
BOOL    logonReturnVal;
trim(userName);
trim(password);
trim(domain);
if(domain.length() == 0)
    domain = ".";
if(password.length() == 0)
    logonReturnVal = LogonUserA(userName.c_str(), domain.c_str(), NULL, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &token);
else
    logonReturnVal = LogonUserA(userName.c_str(), domain.c_str(), password.c_str(), LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &token);

if(!logonReturnVal)
{
    returnMessage = Error::GetLastErrorAsString();
    return false;
}
else
{
    returnMessage = Protocol::authenticateSuccessProtocolStr;
    return true;
}

0 个答案:

没有答案