Zum Inhalt springen

FE-Login rsa

Erstellt am 1. Juni 2018 · 5 Antworten · letzte Antwort am 4. Juni 2018

Tags: TYPO3 7, Frage

schumiel ·

Hallo,

ich habe mein typo von 6.2 auf 7.6 geupgradet. Dabei funktioniert mein Frontend-Login nicht mehr, bzw. man kann sich nicht mehr einloggen.

Erweiterung "saltedpasswords" ist bei "basic.FE.enabled" der Haken gesetzt.
Passwörter in der Datenbank sind "phpass"-verschlüsselt.
Die Erweiterung im Template ist gesetzt https://docs.typo3.org/typo3cms/extensions/core/7.6/Changelog/7.4/Breaking-67932-FeloginTemplateHasBeenChanged.html

*********************
$loginData['user'] = $user;
$loginData['passw'] = $pass;

if ($user != "" && $pass != "") {

$loginData = array(
'uname' => $user,
'uident' => $pass,
'chalvalue' => '',
'permanent' => 0,
'status' => 'login'
);

$rsaAuthBase = new \TYPO3\CMS\Rsaauth\RsaAuthService();
$rsaAuthBase->init();
$processed = $rsaAuthBase->processLoginData($loginData, "rsa");

$GLOBALS['TSFE']->fe_user->checkPid = 0;
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $loginData['uname']);

$ok = $GLOBALS['TSFE']->fe_user->compareUident($user, $loginData);

if ($ok) {

$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS["TSFE"]->fe_user->loginSessionStarted = TRUE;
$GLOBALS["TSFE"]->fe_user->setAndSaveSessionData('dummy', TRUE);
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->fetchUserSession();
$GLOBALS['TSFE']->fe_user->fetchGroupData();

return true;
} else {
return false;
}
}
*********************

Bei der Variable "ok" kommt immer false raus.
Nutzerdaten wurden korrekt eingegeben.

Vor einigen Jahren wurden die Passwärter in der Datenbank wie folgt "verschlüsselt".

*********************
public function convertPassword(){

for($i=1;$i<=$lastUserId;$i++) {
$recordList = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( "uid,password"
, "fe_users"
, "uid = ".$i
, ""
, ""
, ""
);
foreach ((array)$recordList as $record) {

if (\TYPO3\CMS\Saltedpasswords\Utility\SaltedPasswordsUtility::isUsageEnabled('FE')) {
$objSalt = \TYPO3\CMS\Saltedpasswords\Salt\SaltFactory::getSaltingInstance(NULL);
if (is_object($objSalt)) {
$saltedPassword = $objSalt->getHashedPassword($record['password']);
}
}

$into_table ='fe_users';
$where_clause='uid = '.$i;
$field_values = array('password' => $saltedPassword);

$res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery( $into_table
, $where_clause
, $field_values
);


}
}
}
*********************

Hatte jemand ein ähnliches Problem und kann helfen?

pstranghoener ·

Hey schumiel,
schau mal ob es im log Fehler gibt.
Wenns am rsa liegt schalte mal [BE][loginSecurityLevel] auf normal. Das sollte funktionieren.

Grüße
Philipp

schumiel ·

Das hatte ich gemacht und funktioniert weiterhin nicht.
Wenn ich mit die Passwort-Variable ausgeben lasse, ist der String auch ganz schön lang (länger als vorher), aber mit rsa. Schalte ich aber [FE][loginSecurityLevel] auf normal, ändert sich nichts, trotz Cache leeren.