[Frage] Eigenes Login mit Extbase

  • dschumbi dschumbi
    T3PO
    0 x
    22 Beiträge
    0 Hilfreiche Beiträge
    04. 02. 2015, 10:59

    Hallo,

    ich habe in einer eigenen Extension ein Login geschrieben. Nach eine Update von 6.1.7 auf 6.2.9 funktioniert das ganze aber nicht mehr so richtig. Das Problem ist, dass der User immer eingeloggt wird, egal, welches Passwort er angibt.

    Ich hab hier mal den Code:

    1. $password = $this->request->getArgument('password');
    2.  
    3. $success = FALSE;
    4. $loginData = array(
    5. 'uname' => $this->request->getArgument('kundennummer').$this->request->getArgument('email'),
    6. 'uident_text' => $this->request->getArgument('password'),
    7. 'status' => 'login'
    8. );
    9.  
    10. /** @var $frontEndUser tslib_feUserAuth */
    11. $frontEndUser = $GLOBALS['TSFE']->fe_user;
    12. $frontEndUser->checkPid = FALSE;
    13.  
    14. $authenticationData = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
    15. $userData = $frontEndUser->fetchUserRecord($authenticationData['db_user'], $loginData['uname']);
    16. $frontEndUser->user = $userData;
    17.  
    18.  
    19. if (\TYPO3\CMS\Saltedpasswords\Utility\SaltedPasswordsUtility::isUsageEnabled('FE')) {
    20. $objSalt = \TYPO3\CMS\Saltedpasswords\Salt\SaltFactory::getSaltingInstance(NULL, 'FE');
    21. if (is_object($objSalt)) {
    22. $saltedPassword = $objSalt->getHashedPassword($password);
    23.  
    24. }
    25. $objSalt = \TYPO3\CMS\Saltedpasswords\Salt\SaltFactory::getSaltingInstance($saltedPassword, 'FE');
    26. if (is_object($objSalt)) {
    27. $success = $objSalt->checkPassword($password, $saltedPassword);
    28. }
    29. }

    wenn ich am Ende dann $success ausgeben lasse, erscheint immer TRUE, egal mit welchem Passwort.

    Caches sind gelöscht und saltedpasswords mit rsa ist aktiviert.

    Hat jemand schon mal das gleiche Problem gehabt?

    Danke für eure Hilfe!

    Grüße
    Heiko


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    706 Beiträge
    76 Hilfreiche Beiträge
    04. 02. 2015, 12:08

    Sicher, dass es jemals richtig funktioniert hat?
    In deinem Code wird $frontEndUser->user ja überhaupt nicht weiter genutzt, wenn es um den Vergleich der Passwörter geht.

    Sieht für mich so aus, als würdest du getArgument('password') salzen und das Ergebnis dann wieder mit getArgument('password') abgleichen - da kann dann immer nur TRUE bei raus kommen.

  • dschumbi dschumbi
    T3PO
    0 x
    22 Beiträge
    0 Hilfreiche Beiträge
    04. 02. 2015, 12:28

    oh man, klar du hast recht.... manchmal sieht man den wald vor lauter bäumen nicht!

    danke für den hinweis!

  • 1