J'ai une application web où j'ai une page de connexion. Comment s'authentifier auprès des utilisateurs du répertoire actif? A partir de maintenant, je suis en mesure d'obtenir des propriétés du répertoire actif, ce qui conclut que je suis capable de communiquer avec AD avec LDAP chaîne.Je sais pas possible d'extraire le mot de passe de AD et authentifier contre mot de passe entré par l'utilisateur !! .Vous authentifier contre un utilisateur dans le répertoire actif?
Y a-t-il un moyen de m'authentifier auprès des utilisateurs de l'annuaire actif?
Voici mon code jusqu'à présent
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;
}
}
Un serveur Active Directory sera en mesure de recevoir le nom d'utilisateur et mot de passe et vous dire si c'est le mot de passe correct ou non, sans activer les mots de passe réversibles. Donc ça devrait être possible. – jishi
Quelle version de C# utilisez-vous? – chilltemp
J'utilise C# 3.5 – Macnique