Greetings all,
I'm new to XWiki both as an administrator and as a dev, so please
forgive me if I'm a bit mistaken on behavior.
I'm running XWiki with authentication through LDAP. I manually added my
own username and granted admin privileges to that user. I then switched
it to LDAP and set it so other users must login to view anything beyond
the main page. Authentication works fine; users are able to login.
My problem is that every time they login, a new entry is being added to
the XWiki.XWikiGroups object. This can be seen by viewing the 5 pages
of a single username in the XWikiAll group. I've checked jira and the
list archives for this issue, and I thought I remembered seeing some
mention of an issue like this, but on review I can't find anything.
I have no doubt that either my LDAP configuration is wrong, or my LDAP
server is insane. My XWiki user entry shows up as my LDAP login name,
everyone else's shows up as their full name. But that's not my chief
concern; I'll figure that out eventually.
My thinking is that regardless of configuration, multiple entries of the
same name should not be addable to the XWikiGroups object. This should
either be inforced by treating it as a set or a map, or by searching the
vector prior to added objects. I'm looking in the
com.xpn.xwiki.XWiki.addUserToGroup() function (XWiki.java:2940) and I
don't see evidence of such a check.
I confess I haven't taken the time to look to see if the function is
overridden, or how the overridden functions behave, nor have I run XWiki
through the debugger yet, but am I right in thinking it should be
checked as described here? If I can get some bit of confirmation from
someone more familiar with the code, I'll gladly make a patch.
Paul D. Grodt
TECORE Wireless Systems
Phone: +1 410 872 6225
Fax: +1 410 872 6010
email: pgrodt(a)tecore.com