我有一個Web應用程序,我有一個登錄頁面。如何對活動目錄用戶進行身份驗證?針對活動目錄中的用戶進行身份驗證?
截至目前我能夠從活動目錄中得到一些屬性,從而得出結論我能夠用AD與LDAP字符串進行通信。我知道無法從AD中提取密碼並對用戶輸入的密碼進行身份驗證! 。
有沒有一種方法可以對活動目錄用戶進行身份驗證?
這裏是我到目前爲止的代碼
public class Userdetails
{
public static string ADPath = ConfigurationManager.AppSettings.Get(「ADPath」); // Get the ADAM Path from web config fiel
public static string ADUser = ConfigurationManager.AppSettings.Get(「ADUser」); //ADAM Administrator
public static string ADPassword = ConfigurationManager.AppSettings.Get(「ADPassword」); //ADAM Administrator password
public static DirectoryEntry GetUserDetails(string userID)
{
AuthenticationTypes AuthTypes; // Authentication flags.
// Set authentication flags.
// For non-secure connection, use LDAP port and
// ADS_USE_SIGNING |
// ADS_USE_SEALING |
// ADS_SECURE_AUTHENTICATION
// For secure connection, use SSL port and
// ADS_USE_SSL | ADS_SECURE_AUTHENTICATION
AuthTypes = AuthenticationTypes.Signing |
AuthenticationTypes.Sealing |
AuthenticationTypes.Secure;
DirectoryEntry De = new DirectoryEntry(ADPath, ADUser, ADPassword, AuthTypes);
DirectorySearcher Ds = new DirectorySearcher(De);
SearchResult Sr;
Ds.SearchScope = SearchScope.Subtree;
Ds.Filter = 「(&(objectclass=*)(cn= 」 + userID + 「))」;
Sr = Ds.FindOne();
if (!(Sr == null))
{
De = new DirectoryEntry(Sr.Path, ADUser, ADPassword, AuthTypes);
return De;
}
else
{
return null;
}
}
Active Directory服務器將能夠接收用戶名和密碼,並告訴你,如果這是正確的密碼與否,不啓用可逆的密碼。所以它應該是可能的。 – jishi
您使用的是什麼版本的C#? – chilltemp
我正在使用C#3.5 – Macnique