我想寫一個程式,系統登陸時需要用戶名和密碼驗證,這個用戶名和密碼是遠程服務器(可能是AD服務器)上已經建好的,我要做的是直接服務器遠程用戶認證。我看了微軟的msdn,似乎Network Management Functions能實作,我看了NetUserGetInfo說明,如果第三個引數level=1的話,會把密碼回傳,但實際情況是直接回傳錯誤,提示不存在的用戶名或者錯誤的密碼。但我看了這個函式,沒有密碼的引數,如何破?或者有什么其他的辦法解決此問題。多謝!
uj5u.com熱心網友回復:
我使用LogonUser函式,老是0x52e錯誤,這是什么原因導致。域控名test.com,用戶aa,密碼Jlxe!1,代碼如下:
if(LogonUser("aa","test.com","Jlxe!1",LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUser))
{
MessageBox("OK");
}
else
{
dwError = GetLastError();
}最后dwError = 0x52e
請教這是什么原因導致?
uj5u.com熱心網友回復:
看看這個是否有啟示 ADSI介面獲取AD域服務器賬戶串列[VC++]uj5u.com熱心網友回復:
你這樣使用肯定有問題,按MSDn說明,用戶名必須是Unicodeusername
Pointer to a Unicode string containing the name of the user account on which to return information
你使用Unicode編譯,同時字串都加上_T(。。。。)試試;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75382.html
標籤:硬件/系統
