Hi Max, After making the change you need to re-build tomcat, and redeploy it. You can do this by following steps 7, 8, and 9 in the installation guide:
- http://www.dspace.org/1_6_0Documentation/ch03.html#N108B6 But at step 8, as this is not a new installation, you need to run 'ant update' instead of 'ant fresh_install'. Thanks, Stuart Lewis IT Innovations Analyst and Developer Te Tumu Herenga The University of Auckland Library Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand Ph: +64 (0)9 373 7599 x81928 On 27/04/2010, at 8:57 AM, Max McGrath wrote: > Stuart - > > I made the change and then restarted Tomcat and it still is not working for > people that do not have their e-mail address in LDAP. > > Should I have done more than just restarting Tomcat? > > Thanks for all the help! > -- > Max McGrath > Asst. Network Admin/Systems Specialist > Carthage College > 262-552-5512 > [email protected] > > > On Mon, Apr 26, 2010 at 3:46 PM, Stuart Lewis <[email protected]> wrote: > Hi Max, > > Yes - that's right. > > Change: > > if ((ldap.ldapEmail!=null)&&(!ldap.ldapEmail.equals(""))) > > > to > > > if (ldap.ldapEmail == null) ldap.ldapEmail = ""; > if (true) > > > (I've added an extra line there to hopefully catch another error that could > occur.) > > Thanks, > > > Stuart Lewis > IT Innovations Analyst and Developer > Te Tumu Herenga The University of Auckland Library > Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand > Ph: +64 (0)9 373 7599 x81928 > > > > On 27/04/2010, at 4:15 AM, Max McGrath wrote: > > > Hi Stuart - > > > > Here is the code I am looking at: > > > > if ((ldap.ldapEmail!=null)&&(!ldap.ldapEmail.equals(""))) You want me to > > change this to if (true) and then leave everything else the same??? > > { > > try > > { > > eperson = > > EPerson.findByEmail(context, ldap.ldapEmail); > > if (eperson!=null) > > { > > > > log.info(LogManager.getHeader(context, > > > > "type=ldap-login", "type=ldap_but_already_email")); > > > > context.setIgnoreAuthorization(true); > > > > eperson.setNetid(netid.toLowerCase()); > > eperson.update(); > > context.commit(); > > > > context.setIgnoreAuthorization(false); > > > > context.setCurrentUser(eperson); > > return SUCCESS; > > } > > else > > { > > if > > (canSelfRegister(context, request, netid)) > > { > > // > > TEMPORARILY turn off authorisation > > try > > { > > > > context.setIgnoreAuthorization(true); > > > > eperson = EPerson.create(context); > > if > > ((ldap.ldapEmail != null) && (!ldap.ldapEmail.equals(""))) > > { > > > > eperson.setEmail(ldap.ldapEmail); > > } > > else > > { > > > > eperson.setEmail(netid + > > ConfigurationManager.getProperty("ldap.netid_email_domain")); > > } > > if > > ((ldap.ldapGivenName!=null) && (!ldap.ldapGivenName.equals(""))) > > { > > > > eperson.setFirstName(ldap.ldapGivenName); > > } > > if > > ((ldap.ldapSurname!=null) && (!ldap.ldapSurname.equals(""))) > > { > > > > eperson.setLastName(ldap.ldapSurname); > > } > > if > > ((ldap.ldapPhone!=null)&&(!ldap.ldapPhone.equals(""))) > > { > > > > eperson.setMetadata("phone", ldap.ldapPhone); > > } > > > > eperson.setNetid(netid.toLowerCase()); > > > > eperson.setCanLogIn(true); > > > > AuthenticationManager.initEPerson(context, request, eperson); > > > > eperson.update(); > > > > context.commit(); > > > > context.setCurrentUser(eperson); > > } > > catch > > (AuthorizeException e) > > { > > > > return NO_SUCH_USER; > > } > > finally > > { > > > > context.setIgnoreAuthorization(false); > > } > > > > > > log.info(LogManager.getHeader(context, "authenticate", > > > > "type=ldap-login, created ePerson")); > > return > > SUCCESS; > > } > > else > > { > > // No > > auto-registration for valid certs > > > > log.info(LogManager.getHeader(context, > > > > "failed_login", "type=ldap_but_no_record")); > > return > > NO_SUCH_USER; > > } > > } > > } > > > > -- > > Max McGrath > > Asst. Network Admin/Systems Specialist > > Carthage College > > 262-552-5512 > > [email protected] > > > > > > On Thu, Apr 22, 2010 at 9:28 PM, Stuart Lewis <[email protected]> > > wrote: > > Hi Max, > > > > Yes - looks like there's a bit of a logic flow problem going on there - the > > check for an empty email is being performed twice, and the first is not > > needed. Try looking at > > [dsapce-src]/dspace-api/src/main/java/org/dspace/authenticate/LDAPHierarchicalAuthentication.java > > and find the line: > > > > if ((ldap.ldapEmail!=null)&&(!ldap.ldapEmail.equals(""))) > > > > (about line 254) and change it to: > > > > if (true) > > > > Rebuild, redeploy etc. If may throw a null pointer exception, if so, add > > just before the if statement: > > > > if (ldap.ldapEmail == null) ldap.ldapEmail = ""; > > > > If this fixes the problem, we'll look at getting it corrected in the next > > release. > > > > Thanks, > > > > > > Stuart Lewis > > IT Innovations Analyst and Developer > > Te Tumu Herenga The University of Auckland Library > > Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand > > Ph: +64 (0)9 373 7599 x81928 > > > > > > > > On 23/04/2010, at 2:19 PM, Max McGrath wrote: > > > > > That could very well be the case as we do not have the e-mail address > > > field populated in LDAP. But I thought the following code would take > > > care of that: > > > > > > # If your LDAP server does not hold an email address for a user, you can > > > use > > > # the following field to specify your email domain. This value is appended > > > # to the netid in order to make an email address. E.g. a netid of 'user' > > > and > > > # ldap.netid_email_domain as '@example.com' would set the email of the > > > user > > > # to be '[email protected] > > > ldap.netid_email_domain = @carthage.edu > > > -- > > > Max McGrath > > > Asst. Network Admin/Systems Specialist > > > Carthage College > > > 262-552-5512 > > > [email protected] > > > > > > > > > On Thu, Apr 22, 2010 at 9:12 PM, Stuart Lewis <[email protected]> > > > wrote: > > > Hi Max, > > > > > > This code has been stable for a while and is working in a lot of > > > installations, so hopefully there is no bug. One possible cause is that > > > the email address is not being returned from the LDAP query. If there is > > > no email address then an eperson record cannot be created. > > > > > > Check that the following setting is correctly configured in dspace.cfg: > > > > > > ldap.email_field = mail > > > > > > Thanks, > > > > > > > > > Stuart Lewis > > > IT Innovations Analyst and Developer > > > Te Tumu Herenga The University of Auckland Library > > > Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand > > > Ph: +64 (0)9 373 7599 x81928 > > > > > > > > > On 23/04/2010, at 1:48 PM, Max McGrath wrote: > > > > > > > Yes, I do have that set to true and the ePersons are still not being > > > > created. > > > > -- > > > > Max McGrath > > > > Asst. Network Admin/Systems Specialist > > > > Carthage College > > > > 262-552-5512 > > > > [email protected] > > > > > > > > > > > > On Thu, Apr 22, 2010 at 1:33 PM, <[email protected]> wrote: > > > > Hi, Max. I'm glad you have LDAP auth working now. > > > > > > > > Do you have webui.ldap.autoregister = true in your dspace.cfg? > > > > > > > > We don't have webui.ldap.autoregister set to true, currently, and we do > > > > create all e-person accounts manually for those faculty and staff that > > > > need to access DSpace to add or edit objects. We were hoping to turn on > > > > webui.ldap.autoregister this summer. > > > > > > > > -- > > > > Stacy Pennington > > > > Rhodes College > > > > [email protected] > > > > (901) 843-3968 > > > > > > > > > > > > --------------------------- > > > > From: Max McGrath [mailto:[email protected]] > > > > Sent: Thursday, April 22, 2010 11:57 AM > > > > To: Pennington_Stacy > > > > Cc: [email protected] > > > > Subject: Re: [Dspace-tech] LDAP with DSpace > > > > > > > > Thanks again Stacy! > > > > > > > > You, however, have been unsuccessful at getting this to automatically > > > > create a new ePerson, correct? > > > > > > > > I don't have access to my logs right now, but I can see that LDAP > > > > authentication is working, but creating a new ePerson is failing and > > > > therefore, not letting me login! > > > > > > > > Is my only option to manually create an ePerson for every person who > > > > could potentially login? > > > > -- > > > > Max McGrath > > > > Asst. Network Admin/Systems Specialist > > > > Carthage College > > > > 262-552-5512 > > > > [email protected] > > > > > > > > > > > > <ATT00001..txt><ATT00002..txt> > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

