1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Eigene PHP/JS-Anwendung integrieren (Session, Benutzergruppen)?

Dieses Thema im Forum "Allgemeines" wurde erstellt von edm, 26. März 2021.

  1. edm

    edm New Member

    Registriert seit:
    31. März 2020
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    ich habe für einen Kunden einen eigenständigen Produktkonfigurator in PHP/JavaScript geschrieben, der in eine Typo3-WebSite eingebettet ist (keine Typo3-Erweiterung). Dafür greift er auf die Datenbankdaten von Frontend-Benutzern (und deren Gruppenzugehörigkeit) zu und ebenso auf die Session-Datenbank (um die laufende Session zu verlängern) - funktioniert einwandfrei.

    Nun wird die WebSite neu gestaltet und mit Wordpress von einem anderen Dienstleister aufgesetzt. Mir stellen sich nun die folgenden Fragen?
    1. Kann man in Wordpress, ähnlich wie in Typo3, Frontend-Benutzer und -Gruppen (ein Benutzer kann in einer oder mehreren Gruppen sein) einrichten oder muss man dafür Plugins verwenden?
    2. Kann ich in meinen PHP-Skripten die Sitzungsdaten des eingeloggten Benutzers direkt in der Datenbank verändern (Session verlängern)?
    Ich wäre für Lösungen oder Hinweise oder Links zu weiteren Informationen sehr dankbar :).
    Eduard Müller
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.694
    Zustimmungen:
    400
    zu 1: Ja kann man, mit Plugin aber auch ohne

    zu 2: PHP Sessions und WordPress sind keine gute Idee, gerade auch vor dem Hintergrund von Cachingplugins. Sessionhandling wird über Cookies abgebildet. Entsprechend kann man die Gültigkeit der Cookies (von der eigenen Seite) auch verändern.
     
  3. edm

    edm New Member

    Registriert seit:
    31. März 2020
    Beiträge:
    4
    Zustimmungen:
    0
    Zu 1. So wie ich das lese "In WordPress existieren sechs verschiedene Benutzergruppen mit unterschiedlichen Rechten ..." kann ich also in der Grundversion keine selbstdefinierten Gruppen anlegen (die rein gar nichts mit Wordpress-Rechten etc. zu tun haben sollen, sondern nur für meine eigenständige Applikation verwendet werden). Ich benötige z.B. die Gruppe "Export". Benutzer, die in dieser Gruppe sind, sehen automatisch die Exportpreise, nicht die normalen Preise. Ebenso eine Gruppe "Gruppenadmin", die nur den Gruppenadmins eines Kunden zugeordnet sind (die sehen noch mehr Bearbeitungsmöglichkeiten) usw. Ok, ich schaue mir mal Plugins wie "Groups" oder "User Role Editor" oder "User Access Manager" an.

    Zu 2.Wo speichert der Server denn die Lebenszeit einer Sitzung? Der muss doch serverseitig die Prüfung vornehmen. Wichtig: Meine Applikation geht völlig an Wordpress vorbei. Ich kann nur auf die Wordpress-Datenbank zugreifen und kann keine Wordpress-Funktionen nutzen.
    Ah, habe gerade so etwas wie "DELETE FROM wp_usermeta WHERE meta_key='session_tokens';" gefunden.
    Hm, da ich sowieso ein Plugin verwenden muss, muss ich natürlich dort nach den Sitzungdaten suchen. Also erstmal ein Benutzergruppen-Plugin aussuchen.

    Danke für die Hilfe.
     
  4. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    5.393
    Zustimmungen:
    188
    WordPress kennt keine $_SESSION und startet auch keine Sitzung.

    Du wirst in WordPress keinen Aufruf von

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    finden

    Prüfung würde ich dies jetzt nicht nennen wollen - aber WordPress kann eine gestartete SESSION per Request annehmen

    Darf man dein 'kann in 'will' umformulieren?

    also:

    Ich will nur auf die Wordpress-Datenbank zugreifen und will keine Wordpress-Funktionen nutzen.


    cool - Wenn aber keine Session gestartet wurde, hilft dir dies jetzt unheimlich weiter.

    Wenn du etwas genauer deine Anforderungen beschreiben würdest, könnte man dir evtl. ein Member Plugin empfehlen.

    Wenn deine Benutzer per se keinen Bezug zu WordPress haben und auch keine Rechte bei WordPress benötigen.
    reicht vermutlich das bestehende System ja bereits aus:

    https://developer.wordpress.org/reference/functions/get_userdata/
     
  5. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.694
    Zustimmungen:
    400
    zu 1: Du kannst so viele Gruppen anlegen wie Du willst. Und Du kannst ebenfalls beliebige Rechte erstellen und hinzufügen. In Deiner Programmierung bestimmst Du selbst welche Aktionen welche Berechtigungen benötigen.

    zu 2: Beim Setzen des AUTH Cookies (wordpress_hashwert) wird die Ablaufzeit des Transienten gesetzt. Über den Filter
    "auth_cookie_expiration" kann die Ablaufzeit verändert werden.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden