Seite 1 von 1

Login für gesamte Seite

Verfasst: Mo 27. Aug 2007, 10:08
von _Marc
Hallo zusammen!

Mein Problem ist eine Webseite (Mitgliederbereich), die komplett passwortgeschützt sein soll.

Nach dem Aufruf soll eine Login-Seite erscheinen, nach erfolgtem Login die eigentliche Startseite.

Soweit kein Problem, Login-Seite ungeschützt und Fehlerseite angelegt, action auf die Startseite eingestellt.

Aber:
Wenn man innerhalb der Session wieder die Start-URL aufruft, gelangt man wieder zur Login-Seite (allerdings ohne Loginformular sondern mit "Sie sind angemeldet als...)

Das möchte ich natürlich vermeiden, die Seite soll erst wieder nach dem Abmelden erscheinen.

Nur wie?

Wahrscheinlich bin ich in meinen Lösungsweg etwas verbohrt, so dass ich keine Alternativen sehe.

Hat jemand eine Idee?

Grüße
Marc

Verfasst: Mo 27. Aug 2007, 13:42
von stony
poste doch mal das Loginmodul!

Verfasst: Mo 27. Aug 2007, 14:08
von _Marc
Aber gerne doch:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Loginbox
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/
$idcatart_login = 311;
#Includes
cInclude('classes', 'class.template.php');

if ( !is_object($tpl) ) {
    $tpl = new Template;
}
$tpl->reset();

if ($auth->auth["uid"] == "nobody"){
	$template = 'loginbox.html';

	$tpl->set('s', 'FORM_ACTION', 'front_content.php?idcatart='.$idcatart_login);	
	$tpl->set('s', 'USERNAME', mi18n("Username"));	
	$tpl->set('s', 'PASSWORD', mi18n("Password"));	
	$tpl->set('s', 'LOGINTEXT', mi18n("Log in please!"));
	$tpl->set('s', 'LOGIN', mi18n("Login"));	
} else {
	$template = 'logoutbox.html';

	$tpl->set('s', 'CURRENT_USERNAME', mi18n("You are currently logged in as"));	
	$tpl->set('s', 'USERNAME', $auth->auth["uname"]);	
	$tpl->set('s', 'FORM_ACTION', 'front_content.php?logout=yes');	
	$tpl->set('s', 'LOGOUTTEXT', mi18n("Logout"));		
	$tpl->set('s', 'LOGOUT', mi18n("Logout"));	
}

$tpl->generate('templates/'.$template);
?>
Falls es mal jemand in Natura sehen will:
www.beta.chorakademie.de

benutzer: gast
passwort: gast

Grüße
Marc

Verfasst: Mo 27. Aug 2007, 15:35
von delinquent
Ohne Dir vorgreifen zu wollen, stony: Wenn ich das richtig verstanden habe, dann ist die Seite mit dem Login-Modul der Startartikel und das was Du als "Startseite" bezeichnest nicht. Dann wird beim Aufruf der Url natürlich das Login-Modul wieder mitgeladen.
_Marc hat geschrieben:

Code: Alles auswählen

<?php
if ($auth->auth["uid"] == "nobody"){
/* ... schnipp ... */
} else {
	$template = 'logoutbox.html';

	$tpl->set('s', 'CURRENT_USERNAME', mi18n("You are currently logged in as"));	
	$tpl->set('s', 'USERNAME', $auth->auth["uname"]);	
	$tpl->set('s', 'FORM_ACTION', 'front_content.php?logout=yes');	
	$tpl->set('s', 'LOGOUTTEXT', mi18n("Logout"));		
	$tpl->set('s', 'LOGOUT', mi18n("Logout"));	
}

$tpl->generate('templates/'.$template);
... und der else Zweig ausgeführt. Du kannst hier natürlich alles durch

Code: Alles auswählen

header("Location: " . $cfgClient[$client]["htmlpath"]["frontend"] . "front_content.php?idcatart=$idcatart_login");
ersetzen, dann solltest Du allerdings irgendwo auch wieder einen Logout-Link einbauen auf "front_content.php?logout=yes". Somit wird, falls eingeloggt, zu Deiner Startseite weitergeleitet und beim Logout wieder die Login-Seite angezeigt.

Verfasst: Di 28. Aug 2007, 11:43
von stony
den Job des Vermittlers finde ich am Besten ;)

Verfasst: Di 28. Aug 2007, 19:09
von _Marc
Hallo,

danke Ihr beiden, dass ist doch ein Lösungsweg, den ich nehme :D

Gibt es eigentlich auch die Möglichkeit den gesamten Baum "Hauptnavigation" zu schützen?

Wenn ich das im Moment mache, kommt im FF, die Anfrage wird so umgeleitet, dass sie nicht beendet werden kann.

Oder ist das System so ausgelegt, dass der Startartikel des Mandanten ungeschützt sein muss?

Grüße
Marc :D

Verfasst: Di 28. Aug 2007, 20:18
von wosch
_Marc hat geschrieben:Oder ist das System so ausgelegt, dass der Startartikel des Mandanten ungeschützt sein muss?

Grüße
Marc :D
Was war zuerst da? Ei oder Henne?

Um überhaupt mit dem System (und dem Contenido-Schutz über log-in) arbeiten zu können brauchst du eine ungeschützte Seite (für das Log-in-Modul) in einer ungeschützten Kategorie.
Das könnte also der Startartikel des Mandanten sein.

Verfasst: Mi 29. Aug 2007, 12:11
von _Marc
Ja da hast Du völlig recht, dachte ich mir bereits.

Hatte halt die Hoffnung dass es noch irgendwie über die front_crcloginform.inc.php geht, aber ist wahrscheinlich etwas gegen das Konzept eines CMS, wenns da hardgecodet ist.

Grüße
Marc