Seite 1 von 1
Durch anderes Script abfragen ob in Contenido eingeloggt
Verfasst: Fr 8. Mai 2009, 16:05
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
Re: Durch anderes Script abfragen ob in Contenido eingeloggt
Verfasst: Fr 8. Mai 2009, 22:47
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
Re: Durch anderes Script abfragen ob in Contenido eingeloggt
Verfasst: Sa 9. Mai 2009, 21:39
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

Re: Durch anderes Script abfragen ob in Contenido eingeloggt
Verfasst: So 10. Mai 2009, 11:14
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