Authentifizieren Sie einen Benutzer in active directory?

Ich habe eine web-Anwendung, wo ich eine login-Seite.Wie kann ich die Authentifizierung gegen das active directory-Benutzer ?

Ab jetzt bin ich in der Lage zu bekommen einige Eigenschaften aus dem active directory,der zu dem Ergebnis kommt, ich bin in der Lage zu kommunizieren mit AD mit LDAP-Zeichenfolge.Ich weiß, das ist nicht möglich, zu extrahieren Passwort aus der AD-und authentifiziert Benutzer eingegebene Kennwort !!.

Gibt es eine Möglichkeit, ich kann die Authentifizierung gegen das active directory-Benutzer ?

Hier ist mein code bisher

     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;
    }
}
  • Ein Active Directory-server wird in der Lage sein, um erhalten Benutzername und Passwort und Ihnen sagen, ob es das richtige Passwort ist oder nicht, ohne dass reversible Passwörter. So sollte es möglich sein.
  • Welche version von C# verwenden Sie?
  • Ich bin mit C# 3.5
  • Verwenden Sie anschließend nur die DirectoryEntry - /DirectorySearcher-als letzten Ausweg. Die config-basierte option von Wiktor oder Brian ' s code. Beide sind viel einfacher zu verwenden.
  • Möglich doppelte oder Verwandte - stackoverflow.com/questions/2538064/...
InformationsquelleAutor Macnique | 2011-10-31
Schreibe einen Kommentar