Durch anderes Script abfragen ob in Contenido eingeloggt

Gesperrt
akb
Beiträge: 27
Registriert: So 25. Sep 2005, 14:06
Kontaktdaten:

Durch anderes Script abfragen ob in Contenido eingeloggt

Beitrag von akb »

Hallo,

hat jemand von Euch eine Idee, wie ich durch ein anderes Script abfragen kann, ob ein Benutzer in der Contenido-Seite eingeloggt ist? Ich möchte nämlich ein Forum im "internen" Bereich der Website zur Verfügung stellen und zu diesem Zweck als allererste Zeile des Forums einen PHP-Check unterbringen, der, falls nicht im Contenido eingeloggt, zurück zur Website führt. Aber ich kriege aus irgendeinem Grunde über die Supervariablen die Session nicht gegriffen, obwohl das Verzeichnis in der selben Verzeichnisstruktur liegt.

Hat da jemand eine Idee?

Gruß und danke im Voraus

Arne
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: Durch anderes Script abfragen ob in Contenido eingeloggt

Beitrag von xmurrix »

Hallo,
akb hat geschrieben:...hat jemand von Euch eine Idee, wie ich durch ein anderes Script abfragen kann, ob ein Benutzer in der Contenido-Seite eingeloggt ist? Ich möchte nämlich ein Forum im "internen" Bereich der Website zur Verfügung stellen und zu diesem Zweck als allererste Zeile des Forums einen PHP-Check unterbringen, der, falls nicht im Contenido eingeloggt, zurück zur Website führt. Aber ich kriege aus irgendeinem Grunde über die Supervariablen die Session nicht gegriffen, obwohl das Verzeichnis in der selben Verzeichnisstruktur liegt...
eigentlich sollte es ausreichen, wenn du das Contenido-Frontend initialisierts. Im folgenden Beispiel wird z. B. davon ausgegangen, dass das Script im cms-Verzeichnis liegt:

Code: Alles auswählen

if (!defined('CON_FRAMEWORK')) {
    define("CON_FRAMEWORK", true);
}

$contenido_path = '';

include_once('config.php');
include_once($contenido_path . 'classes/class.security.php');
Contenido_Security::checkRequests();
include_once($contenido_path . 'includes/startup.php');

page_open(array ('sess' => 'Contenido_Frontend_Session', 'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));

if ($auth->auth['uid'] == 'nobody') {
    // redirect to login, or display login form...
}
Dann hast du auch Zugriff auf Contenido Session, falls du es brauchen solltest.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
akb
Beiträge: 27
Registriert: So 25. Sep 2005, 14:06
Kontaktdaten:

Re: Durch anderes Script abfragen ob in Contenido eingeloggt

Beitrag von akb »

Hi,

danke für die Vorlage, ich konnte es sogar noch ein wenig abspecken und es funktioniert nun auch wunderbar :-)

Die abgespeckte Variante wäre:

Code: Alles auswählen

include_once('path/to/cms/config.php');
include_once('path/to/contenido/includes/startup.php');

page_open(array ('sess' => 'Contenido_Frontend_Session', 'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));

if ($auth->auth['uid'] == 'nobody') {
    // redirect to login, or display login form...
}
Die config.php und die startup.php reichen schon, wunderschön :-)
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Re: Durch anderes Script abfragen ob in Contenido eingeloggt

Beitrag von mfweb »

akb hat geschrieben:Die config.php und die startup.php reichen schon, wunderschön :-)
Allerdings hast du damit doch die Sicherheitsabfrage umgangen. Zumindest dieser Teil

Code: Alles auswählen

include_once($contenido_path . 'classes/class.security.php');
Contenido_Security::checkRequests();
steht weder in config.php noch in startup.php. Oder versteckt er sich noch woanders?

EDIT: Sehe gerade, dass die Security-Klasse erst ab Version 4.8.7 existiert. Ab dieser Version sollte man die beiden Zeilen dann auf jeden Fall drin lassen.

Grüße
mfweb
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!
Gesperrt