[Joomla!] Login-Funktion <> Datenbank austauschen

Moin,

ich habe eine Frage an die Joomla!-Experten unter uns. Ich habe vor kurzem den Auftrag bekommen eine Datenbank zu exportieren und gewisse Daten vom Backup in Joomla! einzuspielen. Soweit ist das auch überhaupt kein Problem.

Die Daten stehen jetzt auch alle in der Joomla!-DB. Einzig der Login bereitet mir Kopfzerbrechen, da Joomla! ja einen Salted md5 Hash verwendet, um die Passwörter zu verschlüssen - wenn ich richtig informiert bin. Die andere Datenbank verwendete einen anderen Verschlüsselungsalgorithmus, der mir bekannt ist.

Nun ist es so, dass ich wissen muss, wo (also in welchen Dateien) Joomla! den Vergleich von der Passwort-Eingabe und dem Passwort aus der Datenbank vornimmt, damit ich das mal so ändern kann, dass er die Passwörter automatisch ändert und nicht jeder Nutzer später ein neues Passwort anfordern muss - das kann ich so vielen Menschen nicht zumuten :slight_smile:

Falls jemand weiss, wo diese Dateien liegen und es mir sagen könnte, wäre ich sehr dankbar. Habe bisher nur wenig mit Joomla! gearbeitet und bin momentan zeitlich nicht so verfügbar, dass ich mich momentan darin lange einarbeiten könnte …

Mit freundlichem Gruß
myPages

Hi,

bitte nächstes Mal dazuschreiben, um welche Joomlaversion es sich handelt. Hier müsste es ja 1.5 aufgrund der Verschlüsselung sein :wink:

Schau mal in diese Datei: plugins/authentication/joomla.php Zeilen 80-116.

Das entschlüsseln wird wohl nicht möglich sein. Schau Dir mal an, wie die Bridge joomla 1.5 <=> Moodle funktioniert, vielleicht könntest Du da etwas abschauen, wenn Du es parallel nutzen möchtest :wink:

Moin,

erstmal danke für die Info. Ich benutze eigentlich immer die aktuellsten Versionen von CMS :slight_smile: Also dementsprechend 1.5

Ich habe auch nicht vor eine Entschlüsselung vorzunehmen, sondern werde da nur etwas umschreiben, sodass es zur Datenbank passt :wink: Wenn du Interesse hast, schick ich dir dann auch gerne den PHP-Code per PN :slight_smile:

MfG
myPages

Moin,

ich bin gerade ein wenig von Joomla! genervt, weil der Login im Prinzip gar nicht funktioniert. Ich kann mich zwar als Administrator einloggen (mit dem normalen Account, den ich angelegt habe), aber nicht mit Testnutzern, die ich selbst angelegt habe und die einfach durch die Registrierungsfunktion von Joomla! gingen.

Wenn ich mich einloggen will, kommt immer:

Es macht ja nun überhaupt keinen Sinn sich als Admin einloggen zu können und als Nutzer nicht. Ergo da stimmt etwas nicht. Auch dieses Tutorial von Joomla! bringt mich irgendwie nicht weiter. Nebenbei mal als Anhang mein bisheriger Quelltext.

if($result)
		{			
			$parts	= explode( ':', $result->password );
			if(count($parts) == 2) {
				$crypt	= $parts[0];
				$salt	= @$parts[1];
				$testcrypt = JUserHelper::getCryptedPassword($credentials['password'], $salt);

				if ($crypt == $testcrypt) {
					$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system
					$response->email = $user->email;
					$response->fullname = $user->name;
					$response->status = JAUTHENTICATE_STATUS_SUCCESS;
					$response->error_message = '';
				} else {
					$response->status = JAUTHENTICATE_STATUS_FAILURE;
					$response->error_message = 'Invalid password';
				}
			} else {
				$crypt = $parts[0];
				$testcrypt = md5($credentials['password']);
				if($crypt == $testcrypt) {
					$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system
					$response->email = $user->email;
					$response->fullname = $user->name;
					$response->status = JAUTHENTICATE_STATUS_SUCCESS;
					$response->error_message = '';			
				} else {
					die('md5 Checksumme falsch'); // keine Angst das mit dem die wird noch geändert ;)
				}
			}
		}