1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
   |  
 
    public bool IsAuthenticated(string domain, string username, string pwd)
    {
        string domainAndUsername = domain + @"\" + username;
        DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);
 
        try
        {
            //Bind to the native AdsObject to force authentication.
            object obj = entry.NativeObject;
 
            DirectorySearcher search = new DirectorySearcher(entry);
 
            search.Filter = "(SAMAccountName=" + username + ")";
            search.PropertiesToLoad.Add("cn");
            SearchResult result = search.FindOne();
 
            if (null == result)
            {
                return false;
            }
 
            //Update the new path to the user in the directory.
            _path = result.Path;
            _filterAttribute = (string)result.Properties["cn"][0];
        }
        catch (Exception ex)
        {
            return false;
            //throw new Exception("Error authenticating user. " + ex.Message);
        }
 
        return true;
    } | 
Partager