Im Hook "processFormData" einen Besucher als Mitglied einer Gruppe anmelden
Hallo allerseits,
Ich entwickele gerade für einen Kunden eine Funktion, die Folgendes machen soll:
Ein Besucher kann in einem Formular seine E-Mail-Adresse und ein bestimmtes Passwort eingeben. Anhand des Passwortes wird er als ein bestehendes Mitglied als Frontend-User eingeloggt und auf eine geschützte Seite weitergeleitet. Der Kunde möchte also Besuchern einfach nur ein bestimmtes Passwort geben und sie so auf eine interne geschützte Seite von Contao weiterleiten.
Ich setze das gerade als einen Hook um. Hier ist, was ich bisher habe:
Code:
<?php
// src/EventListener/ProcessFormDataListener.php
namespace App\EventListener;
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\Form;
#[AsHook('processFormData')]
class ProcessFormDataListener
{
public function __invoke(
array $submittedData,
array $formData,
?array $files,
array $labels,
Form $form
): void
{
$email = isset($submittedData['email']) ? filter_var($submittedData['email'], FILTER_SANITIZE_EMAIL) : null;
$password = isset($submittedData['password']) ? filter_var($submittedData['password'], FILTER_SANITIZE_STRING) : null;
switch ($password) {
case '123456':
$this->login_user('mitglied1');
break;
default:
exit("Password wrong");
}
}
private function login_user($member)
{
$username = $member;
$password = 'abcde';
// ...
}
}
Ich komme jetzt aber nicht weiter, weil ich einfach keine gescheite Dokumentation finde.
Wenn mich jemand in die richtige Richtung schubsen könnte, wäre ich sehr zu Dank verpflichtet.