AD Service - Multiple Domain Search?

  • 26 June 2008
  • 2 replies
  • 156 views

Badge +9
Is it possible to configure the Active Directory Service so that you can use it to query multiple domains?  For example, I have two domains at the same level in the tree - 'BSD' and 'CORP'.  The Active Directory Service is initially configured specifically for the BSD domain like this:  DC=BSD,DC=XXXCO,DC=COM, and my smart object that loads via this service works correctly if a specify a valid BSD user account as the parameter (without the domain qualifier).  If I remove the 'BSD' from the Active Directory Service configuration, then the Load method of my smart object never finds any users, no matter how I qualify them in the parameter.  That is, it will no longer find 'tbyrne', which is expected because that user is in the BSD domain, but it also does not find 'BSD byrne'... is there a different way to qualify the domain when you are quering Active Directory using this service?

2 replies

Badge +5

Tim,


Have you tried modifying the XML of the ADProviderService directly in SQL?


In the SmartBroker database, the ServiceInstance table stores the ServiceInstanceXML for each registered service instance.
For the ADProviderService, it looks rather like this:


<serviceinstance name="ADProviderService" type="SourceCode.Providers.ADProviders.Services.ADProviderService" guid="d591c983-ba0a-487e-9f08-a8748558d6b9">
      <metadata>
            <display>
                        <displayname>Active Directory Service</displayname>
                  <description>Service supplies information about active directory objects and their properties</description>
            </display>
            <service>
                  <key name="assembly">SourceCode.SmartObjects.Services.ActiveDirectory, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null</key>
            </service>
      </metadata>
      <serviceobject />
      <serviceconfig>
            <serviceauthentication securityprovider="" impersonate="false" isrequired="false">
                  <username />
                  <password />
                  <extra />
            </serviceauthentication>
            <settings>
                  <key name="RootDSE" isrequired="false">DC=DOMAIN1,DC=COM</key>
            </settings>
      </serviceconfig>
</serviceinstance>


I would try adding a second key in the <settings> element like so:


            <settings>
                  <key name="RootDSE" isrequired="false">DC=DOMAIN1,DC=COM</key>
                  <key name="RootDSE" isrequired="false">DC=DOMAIN2,DC=COM</key>
            </settings>


I can't promise you anything, but that's what I would try...


Gail

Badge +9
Thanks for the idea, but that did not work unfortunately.  After that update, then any user I try to query with gets the 'Domain User Name Specified not found or invalid' error, no matter how I provider the domain (or if I exclude it entirely)

Reply