Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsAuthenticationAuthenticationA/D provider problemA/D provider problem
Previous
 
Next
New Post
4/14/2011 4:57 PM
 
Hi,
I recently upgraded a client who "maintains thier own installation of DNN" from 4.3 to 5.4.  This was a tedious multi-step process, and at the end, i thought i had it all worked out. Somewhere along the way, i upgraded the Active Directory provider to the lastest 5.0.2.   Now, the client is reporting that new users added to the domain are not able to login to the site.  I was going to look into this, check out the AD settings and i am unable to get to the settings page.  The error that is being reported in the log is: 

DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: 511dd239-ee1e-4669-bf57-c2ae3b7dc160
InnerException: Object reference not set to an instance of an object.
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: DotNetNuke.Authentication.ActiveDirectory.AuthenticationController..ctor
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Authentication.ActiveDirectory.AuthenticationController..ctor() at DotNetNuke.Authentication.ActiveDirectory.Settings.Page_Init(Object sender, EventArgs e) at System.Web.UI.Control.OnInit(EventArgs e) at System.Web.UI.UserControl.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.AddedControl(Control control, Int32 index) at System.Web.UI.ControlCollection.AddAt(Int32 index, Control child) at DotNetNuke.Modules.Admin.Authentication.AuthenticationEditor.BindAuthentication() at DotNetNuke.Modules.Admin.Authentication.AuthenticationEditor.Initialize() at DotNetNuke.Modules.Admin.Extensions.EditExtension.BindData() at DotNetNuke.Modules.Admin.Extensions.EditExtension.Page_Load(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---

I am feeling this is probably something is wrong in the settings, something i need to manually change in the SQL server.   Can someone please give me some idea where i need to look for wierdnesses?

Thanks so much!

Brian
 
New Post
4/14/2011 11:28 PM
 
When you say they maintain their own installation of DNN what do you mean? It was an install that they customized back with the 4.3 version or just that they took care of it? 

The AD provider itself went through a lot of changes between 4.3 and 5.4 (btw I'd go right up to 5.6.2). Prior to 4.6 it was an add-on that tied into DNN's logon procedure (I can't remember exactly how it worked anymore). With the release of 4.6 the Core architects separated the login procedure to allow for alternative/additional authentication providers to be written and could just plug into DNN. At that time all the settings were stored in the ModuleSettings table. With DNN 5 there was a further change and the provider settings were moved to the PortalSettings table and that's where you should be looking. When you upgraded from DNN 4.x (I'm guessing from 4.6+) to DNN 5 the settings should've been moved automatically. All of the AD provider setting names start with AD_<settingname>.

One thing you could try is to make a backup of everything and then uninstall the current install of the provider and make sure all trace of it is removed from the directory and the web.config and then try installing it again.

Also, knowing what server/IIS version the site is running on and what pipeline mode it's running under (if IIS7+) might be helpful
 
New Post
4/27/2011 9:46 AM
 
Thanks for the reply.  This week, i have just gotten back to this.  And i have a few more questions.

First of all our environment is:

SQL 2005

Windows Server 2003, Standard Edition, Service Pack 2

IIS 6

Active Directory 5.0.2

Dotnetnuke 5.4



Should everything work together well?  I noticed, looking into the source code, there is a method CheckPipelineMode(), which seems to check for integrated mode.  What happens here if it tries to do this on an IIS 6.0 webserver?



I was looking at the manifest in the install and comparing it to the mainfest in the install i am using.  The dev version, it looks like it writes to the config file.  The install does not appear to have this.  Is this correct?



Can you tell me where i could check in the database for references.  All i know at the moment is there is an entry in dbo.Providers.  I can not find anything referring to this instance in the module settings table,  Since this is the settings page that is bombing out on us, i think this may be related.



Brian

 
New Post
4/27/2011 10:42 AM
 
Your server setup is the same as we're running here in my school except we're running SQL 2008 but that's minor.

CheckPipeline mode is only called if it detects that the IIS version is 7.0 or higher and actually won't be used anymore.

In the 5.0.2 version the only thing it'll write to the web.config is the line in the section. If that line is already there then there's nothing for it to add.

In DNN 5.x the settings should show up in the PortalSettings table (in DNN 4.6+ - DNN 4.9.5 they were in the module settings table).
 
New Post
4/27/2011 1:52 PM
 
Hi Mike!  Thanks for the clarification.  Atleast we know the core environment is good to go.



Now, our web.config has the following 2 sections:



I know you said that you write only the one, so does this mean the other one needs to be removed?

The one you said you write:

    <httpModules>

      <add name="Authentication" type="DotNetNuke.Authentication.ActiveDirectory.HttpModules.AuthenticationModule, DotNetNuke.Authentication.ActiveDirectory" />

The other one that is in our web.config:

    <authentication>

        <providers>

             <add name="ADSIAuthenticationProvider" type="DotNetNuke.Authentication.ActiveDirectory.ADSI.ADSIProvider, DotNetNuke.Authentication.ActiveDirectory" providerPath="~\Providers\AuthenticationProviders\ADSIProvider\" />

        </providers>

    </authentication>

I checked the PortalSettings table, first let me clarify that our site has 4 portals (0,3,5,6), and found the following:

Portal 3 has the following:

AD_AuthenticationType                                            

AD_EmailDomain

AD_ProviderTypeName                                DotNetNuke.Security.Authentication.ADSIProvider, DotNetNuke.Authentication.ADSIProvider                                                                                                                                                                                  AD_RootDomain                                     

AD_SynchronizePassword                             

AD_SynchronizeRole                                

AD_UserName                                       

AD_WindowsAuthentication                          



Portals 5 and 6 have the following:

AuthenticationType

EmailDomain

ProviderTypeName DotNetNuke.Security.Authentication.ADSIProvider, DotNetNuke.Authentication.ADSIProvider AD_RootDomain

SynchronizePassword 

SynchronizeRole

UserName

WindowsAuthentication                          



Which of these are correct?  I think this is the root of our problem!  I remember reading in one of your earlier posts (or may have been on a different thread) that the settings are prefixed with AD_



Is that still the case?  If i want to manually remove everything and install again from scratch, do i need to get rid of all of these, the AD_ and the ones with out AD_?  Also, do i need to get rid of both the web.config entries?



Thanks for all your help on this!



Brian

 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsAuthenticationAuthenticationA/D provider problemA/D provider problem


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out