Isso deve ser um problema com o uso de autenticação externa. Quando um usuário efetua login atualiza seus atributos, e acredito que durante esse processo durante a atualização ele também está atualizando a assinatura do usuário, modifique seu código conforme necessário.
Você pode ver abaixo como ela é atualizada.
Além disso, verifique aqui se há alguma conversa sobre se você está usando o login automático, parece que a assinatura é atualizada com o nome de usuário, você precisará modificar o código.
Em LdapAuthentication.php
/**
* When a user logs in, update user with information from LDAP.
*
* @param User $user
* @access public
* TODO: fix the setExternalID stuff
*/
function updateUser( &$user ) {
global $wgLDAPRetrievePrefs;
global $wgLDAPUseLDAPGroups;
global $wgLDAPUniqueBlockLogin, $wgLDAPUniqueRenameUser;
$this->printDebug( "Entering updateUser", NONSENSITIVE );
if ($this->authFailed) {
$this->printDebug( "User didn't successfully authenticate, exiting.", NONSENSITIVE );
return;
}
$saveSettings = false;
//If we aren't pulling preferences, we don't want to accidentally
//overwrite anything.
if ( isset( $wgLDAPRetrievePrefs[$_SESSION['wsDomain']] ) && $wgLDAPRetrievePrefs[$_SESSION['wsDomain']] ) {
$this->printDebug( "Setting user preferences.", NONSENSITIVE );
if ( '' != $this->lang ) {
$user->setOption( 'language', $this->lang );
}
if ( '' != $this->nickname ) {
$user->setOption( 'nickname', $this->nickname );
}
if ( '' != $this->realname ) {
$user->setRealName( $this->realname );
}
if ( '' != $this->email ) {
$user->setEmail( $this->email );
}
if ( ( isset( $wgLDAPUniqueBlockLogin[$_SESSION['wsDomain']] ) && $wgLDAPUniqueBlockLogin[$_SESSION['wsDomain']] )
|| ( isset( $wgLDAPUniqueRenameUser[$_SESSION['wsDomain']] ) && $wgLDAPUniqueRenameUser[$_SESSION['wsDomain']] ) ) {
if ( '' != $this->externalid ) {
$user->setExternalID( $this->externalid );
}
}
$saveSettings = true;
}
if ( isset( $wgLDAPUseLDAPGroups[$_SESSION['wsDomain']] ) && $wgLDAPUseLDAPGroups[$_SESSION['wsDomain']] ) {
$this->printDebug( "Setting user groups.", NONSENSITIVE );
$this->setGroups( $user );
$saveSettings = true;
}
if ( $saveSettings ) {
$this->printDebug( "Saving user settings.", NONSENSITIVE );
$user->saveSettings();
}
}