Bug #3352
closedUser at referral ldap server couldn't login if another referral server is down
0%
Description
Chris reported that the user at PISCO ldap server couldn't login when a referral server, LTER , is down. We fixed a bug that user at NCEAS couldn't login when a referral server is down.
Updated by Jing Tao over 16 years ago
This bug took a longer time than i thought to be fixed.
First I needed to installed two ldap servers and configured them. They are in dev and my local machine now.
The problem was in getIdentifyingName in AuthLdap class. During the "catch ReferralException" clause, if there is a problem in referral servers, this statement:
if (moreReferrals) {
sctx = (DirContext) e.getReferralContext();
}
will be thrown an exception and jumped out the loop which goes through the every referral servers.
First i thought added a try-catch clause will fix the bug. However, it didn't.
It should add a statement - e.skipReferral(), the program could work.
I also found in getGroups method had some problem and it was resolved too.
I tested in test servers and it seems the code working.