Hallo,

ich habe etwas gebastelt um Member immer mit einer exteren Quelle (Ldap) zu prüfen.
Die Member werden immer neu angelegt bei Erfolg.
Das klappt auch wunderbar, jedoch bekomme ich eine Änderung nicht aus dem Vendor

/vendor/contao/core-bundle/src/Resources/contao/library/Contao/User.php
Klasse: abstract class User extends System implements UserInterface, EquatableInterface, \Serializable
Funktion: loadUserByUsername
Ziel: Username von tl_meber entfernen um immer triggerImportUserHook auslösen beim login via formular (immer live via ldap abfrage einloggen).
Der Block mit der DB delete Anweisung.

Wie bekomme ich dies Updatesicher hin. Oder habt ihr eine Idee es anders Unterzubringen?
Bin gespannt.


PHP-Code:
    /**
     * @return User
     */
    
public static function loadUserByUsername($username)
    {
        
/** @var Request $request */
        
$request System::getContainer()->get('request_stack')->getCurrentRequest();

        if (
$request === null)
        {
            return 
null;
        }

        
$user = new static();
        
$isLogin $request->request->has('password') && $request->isMethod(Request::METHOD_POST);
        
        if(
$user->strTable == 'tl_member' && $request->request->get('FORM_SUBMIT') == 'tl_login_125'){  
            
$db = \Contao\System::getContainer()->get('database_connection');
            
$db->delete('tl_member', array('username' => $username));                   
        }

        
// Load the user object
        
if ($user->findBy('username'$username) === false)
        {
            
// Return if its not a real login attempt
            
if (!$isLogin)
            {
                return 
null;
            }

            
$password $request->request->get('password');

            if (
self::triggerImportUserHook($username$password$user->strTable) === false)
            {
                return 
null;
            }

            if (
$user->findBy('username'Input::post('username')) === false)
            {
                return 
null;
            }
        }

        
$user->setUserFromDb();

        return 
$user;
    }