Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Login/Session für Shibboleth-Nutzer erzeugen

  1. #1
    Contao-Nutzer
    Registriert seit
    07.08.2018.
    Beiträge
    5

    Beitrag Login/Session für Shibboleth-Nutzer erzeugen

    Wir wollen parallel zur normalen Registrierung auch das Login mit Shibboleth auf unserer Seite implementieren. Shibboleth steht auch schon und übergibt die nötigen Daten an die Seite. Daraus erzeuge ich einen neuen Nutzer in der Datenbank (sofern noch nicht vorhanden) und gebe ihm eine Session (via PHP). Jedoch konnte ich Contao bislang nicht dazu bringen, den Nutzer auch als solchen zu erkennen.

    Aktuell setze ich in der tl_member: tstamp, firstname, lastname, email, groups, login, username, password und in der tl_session: pid, tstamp, name, sessionID, ip, hash

    Wie kann ich Contao sagen, dem Nutzer eine Session zu geben, ohne dass nocheinmal das Passwort validiert werden muss oder ähnliches?

  2. #2
    Contao-Nutzer
    Registriert seit
    07.08.2018.
    Beiträge
    5

    Standard

    Nach einigem Probieren habe ich Contao dazu gebracht, die Session zu eröffnen. Die Variable $intId vom User muss gesetzt sein, und dann muss die Methode generateSession() aufgerufen werden. Da beides protected ist, kommt man nicht direkt ran.
    Ich arbeite nun an einer Extension, die direkt von User erbt ('class Shib extends User''), leider weiß ich gerade nicht, wo im FE_MOD die bei der config dann hingehört und wie ich die Klasse in den PHP-Code der Seite importieren kann (User importiert man ja via $this->import('FrontendUser','User'); ).

  3. #3
    Contao-Nutzer
    Registriert seit
    07.08.2018.
    Beiträge
    5

    Standard

    Ich versuche derzeit, die Extension im Frontend zu importieren, aber Contao bricht mit Warnung und Fehlermeldung weg:
    "PHP Warning: in_array() expects parameter 2 to be array, null given in <file>"
    "PHP Fatal error: Uncaught exception 'Error' with message 'Class 'ShibAuth' not found'"
    Auslösende Zeile ist $this->import('ShibAuth','User');

    config.php
    Code:
    $GLOBALS['FE_MOD']['user'] = 'ShibAuth';
    autoload.php
    Code:
    ClassLoader::addClasses(array
    [
        'ShibAuth' => 'system/modules/shib-auth/classes/ShibAuth.php',
    ]);
    ShibAuth.php
    Code:
    class ShibAuth extends \User {
    	
    	...
    	
    }
    Weiß jemand, warum ich die Klasse nicht importieren kann?

  4. #4
    Contao-Nutzer
    Registriert seit
    17.10.2014.
    Beiträge
    72

    Standard

    Sorry, dass ich einen so alten Thread ausgrabe. Aber wir suchen eine Shibboleth Extension für Contao 4.13 - oder ggf. eine alte Version auf der man aufbauen kann.

    Gibt es da etwas?

  5. #5
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das spuckt das Internet aus: https://github.com/aschempp/contao-shibboleth
    Geändert von cliffparnitzky (17.05.2023 um 23:01 Uhr)

  6. #6
    Contao-Fan Avatar von markocupic
    Registriert seit
    06.12.2010.
    Ort
    Oberkirch (Schweiz)
    Beiträge
    660

    Standard

    Guck mal hier:
    https://github.com/markocupic/swiss-...Login.php#L103

    Contao SSO Login mit dem Schweizerischen Alpenclub SAC als Identity Provider.

    Google nach "Symfony Interactive Login"
    Anfragen für bezahlten Support oder Extension-Programmierung via PN.

  7. #7
    Contao-Nutzer
    Registriert seit
    17.10.2014.
    Beiträge
    72

    Standard

    Vielen Dank für den Input.

    Wir haben das auf der Basis umgesetzt:

    https://github.com/iMi-digital/shibb...-client-bundle

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •