We are running XWiki 8.0 bound to an ActiveDirectory system for user authentication and I have been having an issue with only one particular user. I looked over other forum reported issues, checked that our ActiveDirectory doesn’t have multiple records coming back for the same user and reviewed physical content in the database.
For this one user every week his login fails. When I look at his profile page in the system it is not the same as any of the others. For any other user if I go to the User Index and access their profile I’m presented with the normal page with a breadcrumb trail that looks like
/XWiki/Profile of Joe User
for this one user, when he is unable to log in, first the User Index page only shows his login ID, no first or last name, and accessing his profile page the breadcrumb trail looks like
/XWiki/juser
and the page shows the
Failed to execute the [velocity] macro.
error saying there is a permissions error. When the user contacts me about the login issues, if I delete his user account and his profile page then tell him to log in, he is then able to successfully login and his name details appear to be pulled from LDAP. But the next day it is back to the error state.
One thing I noticed was there are no history records in the database showing his account sync’d with LDAP, whereas all other accounts have records.
I located a record in the xwikircs table associated with this user and extracted the contents. When I compared his <xwikidoc> to working ones one thing I notice is his does not have all of the same <object> classes that others do. One in particular that is missing is XWiki.LDAPProfileClass which has the search query to locate the profile record.
Another data point, when I deleted his user account and deleted his wiki profile page and had him log back in, then queried the database for his xwikircs record the XWR_DOCID after recreating was exactly the same as the one that was supposedly deleted but without an LDAPProfileClass.
And lastly, when I view the XWikiAllGroup user membership list, where not only is his entry the only one that is
juser (XWiki.juser)
whereas everyone else is
Joe User (XWiki.juser)
his is also in the group list twice. As mentioned I confirmed that we shouldn’t be running into the issue Loading... as I’m not seeing duplicates in the LDAP. It appears on initial login the profile data is pulled correctly but then a synchronization appears to fail and effectively corrupts his profile. Our LDAP configuration details are:
xwiki.authentication.authclass=com.xpn.xwiki.user.impl.LDAP.XWikiLDAPAuthServiceImpl
xwiki.authentication.ldap=1
xwiki.authentication.ldap.bind_DN=myfirm\\{0}
xwiki.authentication.ldap.bind_pass={1}
xwiki.authentication.ldap.update_user=1
xwiki.authentication.ldap.trylocal=1
xwiki.authentication.ldap.UID_attr=sAMAccountName
xwiki.authentication.ldap.fields_mapping=name=sAMAccountName,last_name=sn,first_name=givenName,fullname=displayName,email=mail,ldap_dn=dn
Any suggestions or insight on either how to completely clean this user out of the system or how to correct this one account would be greatly appreciated.