Hi Tim, Take a look at the JNDIAdaptor class. There are connection dictionary parameters in there, one of those might be what you want. Or can you specify that on the connection URL?
Chuck From: Tim Worman <li...@thetimmy.com> Date: Monday, July 24, 2017 at 11:43 AM To: Chuck Hill <ch...@gevityinc.com> Cc: WebObjects Development <webobjects-dev@lists.apple.com> Subject: Re: Active Directory, JNDI, EOModel Using Wireshark, below is what I’m seeing for the two queries. The biggest difference right off the bat is that the WO/EOModel search seems to search ROOT as the base DN whereas the Apache DirectoryStudio is using “DC=adinstance,DC=ucla,DC=edu” as the base. The WO/EOModel search also appears to have additional objectClass ‘AND’ filters. Looks like my first guess was somewhat likely - I need to find a way to get a handle on the query and feed a base DN to my fetch in WO. It looks like this might be a way to set that: JNDIPlugin - base<http://wocommunity.org/documents/javadoc/WebObjects/5.4.2/com/webobjects/jndiadaptor/JNDIPlugIn.html#base(com.webobjects.eocontrol.EOFetchSpecification,%20com.webobjects.eoaccess.EOEntity)> But I’m wondering if there is a way to set it once at the launch of an app and not have to set it again. -------------------------------------------- From WebObjects: Lightweight Directory Access Protocol LDAPMessage searchRequest(2) "<ROOT>" wholeSubtree messageID: 2 protocolOp: searchRequest (3) searchRequest baseObject: scope: wholeSubtree (2) derefAliases: derefAlways (3) sizeLimit: 0 timeLimit: 3601 typesOnly: False Filter: (objectClass=user) filter: and (0) and: (objectClass=user) and: 1 item Filter: (objectClass=user) attributes: 0 items [Response In: 8] controls: 1 item Control controlType: 2.16.840.1.113730.3.4.2 (Manage DSA IT LDAPv3 control) From Apache Directory Studio: Lightweight Directory Access Protocol LDAPMessage searchRequest(14) “DC=adinstance,DC=ucla,DC=edu" wholeSubtree messageID: 14 protocolOp: searchRequest (3) searchRequest baseObject: DC=adinstance,DC=ucla,DC=edu scope: wholeSubtree (2) derefAliases: derefAlways (3) sizeLimit: 1000 timeLimit: 0 typesOnly: False Filter: (objectClass=user) filter: equalityMatch (3) equalityMatch attributeDesc: objectClass assertionValue: user attributes: 2 items AttributeDescription: cn AttributeDescription: objectClass [Response In: 2] On Jul 21, 2017, at 12:58 PM, Chuck Hill <ch...@gevityinc.com<mailto:ch...@gevityinc.com>> wrote: Try going through a proxy like Charles. Comparing what is sent from WO and from Directory Studio might highlight what is wrong. I am sure that I did this many years ago, but the details escape me. Microsoft’s standard is just a little…different. Chuck On 2017-07-21, 12:56 PM, "Webobjects-dev on behalf of Tim Worman" <webobjects-dev-bounces+chill=gevityinc....@lists.apple.com<mailto:webobjects-dev-bounces+chill=gevityinc....@lists.apple.com> on behalf of li...@thetimmy.com<mailto:li...@thetimmy.com>> wrote: Yeah, I’m not using the model for authentication to AD, I’m intending to use simply to return EO's from AD. I’m encountering the error below when I simply try: ADUser.fetchAllADUsers(pageEditingContext()); The WARN log seems to indicate that I can’t search objectClass “user.” But it is modeled and was reverse engineered. I’m unsure why that would be considering I haven’t had that issue before with other ldap services. Tim On Jul 21, 2017, at 12:50 PM, Theodore Petrosky <tedp...@yahoo.com<mailto:tedp...@yahoo.com>> wrote: did you see this: https://www.slideshare.net/wocommunity/third-party-auth-in-webobjects I was looking to see if there was a video to go along with the slides but didn’t find one. On Jul 21, 2017, at 3:10 PM, Tim Worman <li...@thetimmy.com> wrote: Has anyone used the JNDI plugin to model Active Directory? I’ve used it with a lot of success with other ldap directories but I’m running into a problem with a pretty simple model (which I’m sure has to do with AD’s implementation). I reverse engineered our AD (Server 2016) instance with no problem - and only included Person and User in my model. However, when I try to do a simple fetch of all User (or Person) I get sth like: Jul 21 11:11:23 GSEISNetTestApplication[54777] DEBUG NSLog - Waiting for requests... Jul 21 11:11:24 GSEISNetTestApplication[54777] WARN er.extensions.eof.ERXModelGroup - Clearing previous class descriptions Jul 21 11:11:24 GSEISNetTestApplication[54777] DEBUG NSLog - Context factory cache is already clear Jul 21 11:11:24 GSEISNetTestApplication[54777] DEBUG NSLog - Connecting: {plugInClassName = "com.webobjects.jndiadaptor.LDAPPlugIn"; timeout = "3600"; scope = "Subtree"; username = "CN="Application Server",OU="Service Accounts",OU=ETU,DC=gseisnet,DC=ucla,DC=edu"; authenticationMethod = "Simple"; password = "<omitted from log>"; serverUrl = "ldap://gseisnet.ucla.edu:389"; initialContextFactory = "com.sun.jndi.ldap.LdapCtxFactory"; } Jul 21 11:11:24 GSEISNetTestApplication[54777] DEBUG NSLog - Creating plug-in com.webobjects.jndiadaptor.LDAPPlugIn for JNDIAdaptor@1084219182 Jul 21 11:11:24 GSEISNetTestApplication[54777] WARN NSLog - Cannot search (&(objectClass=user)) [2017-7-21 11:11:24 PDT] <WorkerThread0> javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-0310021B, problem 2001 (NO_OBJECT), data 0, best match of: '' ]; remaining name '' When I use Directory Studio to perform what appears to be the same search, filtering on objectClass user, I get the results I would expect. I’m using the same bind credentials in both as well. One guess I have is the search base, which I have set to the base DN in Directory Studio. Is there a way to get a handle on the JNDI adaptor and set the search base globally in case it isn’t right? Any other ideas? I know I’m probably off the reservation here. Tim UCLA GSE&IS _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/tedpet5%40yahoo.com This email sent to tedp...@yahoo.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com<mailto:Webobjects-dev@lists.apple.com>) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com This email sent to ch...@gevityinc.com<mailto:ch...@gevityinc.com>
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com