Solved

Active Directory Login failed when using C#

Posted on 2009-04-08
5
1,220 Views
Last Modified: 2013-12-24
Hell experts!
I'm facing a weird problem when connection to AD using C#.
When I run the C# project, it fails and gives me an error saying that the user or password may be invalid.
I converted the code to VB.Net and it works perfectly.
The problem is ocurring when I call the FindOne method.
What could be causing this problem?
I've attached both c# and vb.net code to this message.

Please, help.
C# code:
 
            this.AD = new DirectoryEntry(loginPath, loginUsername, loginPassword);
            var filter = "(&(objectCategory=Person) (sAMAccountName=" + username + "))";
            var diretorySearcher = new DirectorySearcher(this.AD);
            SearchResult searchResult = null;
            diretorySearcher.SearchRoot = this.AD;
            diretorySearcher.SearchScope = SearchScope.Subtree;
            diretorySearcher.Filter = filter;
            searchResult = diretorySearcher.FindOne();
            DirectoryEntry user = searchResult.GetDirectoryEntry();
 
VB.Net code:
            Me.AD = New DirectoryEntry(loginPath, loginUsername, loginPassword)
            String filter = "(&(objectCategory=Person) (sAMAccountName=" & username & "))"
            DirectorySearcher diretorySearcher = New DirectorySearcher(Me.AD)
            SearchResult searchResult = Nothing
            diretorySearcher.SearchRoot = Me.AD
            diretorySearcher.SearchScope = SearchScope.Subtree
            diretorySearcher.Filter = filter
            searchResult = diretorySearcher.FindOne()
            DirectoryEntry user = searchResult.GetDirectoryEntry()

Open in new window

0
Comment
Question by:andrepires
  • 3
  • 2
5 Comments
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 24104297
after the first line try this
object Native = this.AD.NativeObject;

Open in new window

0
 
LVL 2

Author Comment

by:andrepires
ID: 24106630
Ok, but what should I do with that Native object?
0
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 24106757
nothing, that line basically tries to validate the entry against AD and makes connection with AD
0
 
LVL 2

Author Comment

by:andrepires
ID: 24106998
Ok... I'll try that and let you know.
Thanks.
0
 
LVL 2

Accepted Solution

by:
andrepires earned 0 total points
ID: 24208177
Hello.
The solution did not work.
I was forced to compile an assembly created with VB.Net and consume it in my application.
Thanks for helping!
0

Featured Post

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
When table data gets too large to manage or queries take too long to execute the solution is often to buy bigger hardware or assign more CPUs and memory resources to the machine to solve the problem. However, the best, cheapest and most effective so…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question