I have been having some difficulties with Active Directory authentication on our 2008 R2 IIS 7.5 webserver for a while, and was hopeful someone might have some ideas.
We are running the following set up:
DNN 7.0.6
AD Module 5.0.5
Windows Server 2008 R2, IIS 7.5
The issue: In DNN 7.x sites when Windows Auth is enabled going to the login module fails with a "Invalid username or password" error. In the event log I receive an error that looks like this:
Method: System.DirectoryServices.DirectoryEntry.Bind
StackTrace:
Message: System.DirectoryServices.DirectoryServicesCOMException (0x80072020): An operations error occurred. at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_AdsObject() at System.DirectoryServices.PropertyValueCollection.PopulateList() at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) at System.DirectoryServices.PropertyCollection.get_Item(String propertyName) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.PopulateInfo() at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain..ctor(String Path) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.GetDomain(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.PopulateChild(Domain Domain) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain..ctor(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.GetDomain(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Utilities.GetRootDomain()
What is strange as well is that we have an older site running 4.9.5 of DNN that I had to migrate to this new server last week due to an issue. I receive a similar issue when trying to login with that site (errors below). Interestingly, I have a couple other of these older sites on the same server that run just fine.
Method: DotNetNuke.Authentication.ActiveDirectory.ADSI.ADSIProvider.GetUser
StackTrace:
Message: System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Authentication.ActiveDirectory.ADSI.ADSIProvider.GetUser(String LoggedOnUserName, String LoggedOnPassword)
Method: System.DirectoryServices.DirectoryEntry.Bind
StackTrace:
Message: System.DirectoryServices.DirectoryServicesCOMException (0x80072020): An operations error occurred. at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_AdsObject() at System.DirectoryServices.PropertyValueCollection.PopulateList() at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) at System.DirectoryServices.PropertyCollection.get_Item(String propertyName) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.PopulateInfo() at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain..ctor(String Path) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.GetDomain(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.PopulateChild(Domain Domain) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain..ctor(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Domain.GetDomain(String Path, String UserName, String Password, AuthenticationTypes AuthenticationType) at DotNetNuke.Authentication.ActiveDirectory.ADSI.Utilities.GetRootDomain()
I would appreciate any ideas anyone has.
Thank you!