2010-07-08 103 views
0

我目前正在嘗試在Windows中的C++應用程序中對用戶進行身份驗證。我需要顯示用戶名和密碼的對話框,並確認它們是Windows機器上的已認證用戶。是否有任何庫允許這個功能或者一個好的方法來解決它?C++中的Windows LDAP身份驗證

+0

您需要做什麼?訪問AD對象?訪問份額?訪問網站?需要更多的信息,你想做什麼。基本上kerberos/Windows身份驗證支持在Windows中內置 – Baget 2010-07-08 19:40:23

+0

我只是試圖檢查用戶是否有一個有效的Windows用戶帳戶在機器上,然後才允許他們訪問我的應用程序上的某些部分。它可以是機器上的任何用戶,而不僅僅是當前登錄的帳戶。 – thecaptain0220 2010-07-08 20:47:22

回答

1

很可能CredUIPromptForWindowsCredentials(請參閱http://msdn.microsoft.com/en-us/library/aa375178.aspx)或舊的CredUIPromptForCredentials(請參閱http://msdn.microsoft.com/en-us/library/aa375177.aspx)可以解決您的問題嗎?

更新:另一種最古老的方式來認證用戶是使用SSPI。它不會幫助顯示對話框,但這可以讓你實現自己。您可以在這裏找到一個非常舊的代碼示例(可能是Microsoft發佈的第一個代碼示例)http://support.microsoft.com/kb/180548

如果您確實想要使用LDAP API(請參閱http://msdn.microsoft.com/en-us/library/aa366102.aspx),則可以使用ldap_bind_s(請參閱http://msdn.microsoft.com/en-us/library/aa366156.aspx)驗證用戶驗證。請參閱http://msdn.microsoft.com/en-us/library/aa366106.aspx作爲代碼示例(它不完全是您想要的,但您可以瞭解這些API的工作原理)