einfache login, ohne echte benutzer kontos

Hallo,

Ich habe ein custom datenbank tabelle mit benutzer daten. Ich würde gerne so machen das alle seiten nicht veroffentlicht sind, aber muss mann erst richtige infos wissen (sowie benutzer name und password), aber ich habe keine richtige benutzer kontos, weil die (meine) login daten sind für mehrere personen gleich und dann muss mann sowieso eine addresse und normale benutzer konto machen wenn er was kaufen will.

Ich würde gerne folgendes machen:

  • für alle frontend seiten before controller angeruft ist ein check haben ob in session ein key ist (eine referenz zum custom benutzer tabelle).
  • falls in session diese referenc existirt, is erledigt und soll normal, zum controller gehen, ,…
  • falls in session keine reference gibt, würde ich ein redirect zum /frontend/customController/loginForm machen

Ich glaube so was kann ich machen, weiss ich aber nicht welche event am besten zu benutzen ist und wie kann ich das so machen das nicht immer redirect zum redirect geht (wenn mann schon zum  /frontend/customController/loginForm kommt.

    $personId = Shopware()->Session()['personId'];
    if(empty($personId)) {
        $this->redirect('frontend/customController/loginForm');
        return;
    }

Frage(n):

  1. Welche event ist hier sinnvoll zu nehmen das?

  2. Wie sagt mann, das giltet für alle pfade, auserdem  /frontend/customController/loginForm

  3. gibts ein möglichkeit ein IP-banning zu implementieren oder andere ähnliche metoden so das brute force attacks schwiriger sind?

 

Viellen dank für ihre hilfe!