Login im Frontend abschalten

Gesperrt
Migosch
Beiträge: 15
Registriert: Mi 23. Jul 2003, 14:01
Wohnort: Berlin
Kontaktdaten:

Login im Frontend abschalten

Beitrag von Migosch » Mi 23. Jul 2003, 14:23

Hallo!

Ich bin durch die Internet Professional auf Contenido aufmerksam geworden und hab die auf der Heft-CD erhältliche Beta 4.3 bei meinem privaten Hoster installiert. Nachdem ich dort ein wenig herumprobiert hatte und mich wirklich schnell weitestgehend zurecht gefunden hatte - großes Lob an dieser Stelle für das intuitive Interface -, habe ich mich entschieden meinem Chefredakteur Contenido für das anstehende Redesign schmackhaft zu machen.

Nach dem "Okay" von oben habe ich nun die Beta 4.3.1 runtergeladen und auf unserem betrieblichen Hoster installiert. Das meiste hat auch einwandfrei funktioniert, es mussten nur ein paar Einstellungen an den Zugriffsrechten für verschiedene Verzeichnisse, die nicht am Ende der Installationsroutine angegeben waren, geändert werden - kein Problem soweit.

Nun hab ich natürlich angefangen hin- und herzubasteln, weil ein neues Layout her muss und habe dafür einen Extra Artikel erstellt, auf dem ich das entsprechende Template anwende, um die Änderungen am Layout verfolgen zu können. Dabei stellte ich eine Sache mit Erschrecken fest. Wenn ich im Internet Explorer (es müsste die Version 6.0 sein) das Frontend aufrufe (http://www.domainname.de/cms/), wird mir plötzlich ein Loginformular angezeigt, bei dem ich mich partout nicht einloggen kann, egal ob ich die Benutzerdaten der Admin-Accounts oder anderer Benutzer eingebe. Das an sich wäre ja kein Problem, weil wir ohnehin keine gesonderte Nutzerverwaltung im Frontend benötigen, aber das Problem ist, dass man einfach nicht an diesem Formular vorbeikommt.

Gut, ich habe bisher auch noch nicht allzuviel versucht, aber das liegt daran, dass ich das Formular in keinster Weise in der index.html oder der front_content.php eingebunden finde. Um jetzt aber nochmal konkret zu formulieren:

Das Loginformular, das beim Aufrufen von cms/front_content.php erscheint, muss weg. Wie stelle ich das an, so dass bei genanntem Seitenaufruf gleich der Inhalt der Startseite angezeigt wird?

Danke schonmal im Voraus für die Beantwortung meiner Frage.

mfg
Migosch

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 23. Jul 2003, 15:11

Das Loginformular erscheint nur, wenn eine Kategorie geschützt ist. Nach dem entfernen des Schutzes sollte die Seite ganz normal erscheinen, vorausgesetzt:

- Die Kategorie hat einen Startartikel
- Die Kategorie ist online und nicht geschützt

Kann sein, daß ich noch etwas vergessen habe.

Grüße,
Timo

chrila
Beiträge: 49
Registriert: Di 17. Sep 2002, 16:31
Wohnort: Essen
Kontaktdaten:

Beitrag von chrila » Do 24. Jul 2003, 08:14

Halllo,

könnte es sein, dass das Login garnichts mit Contenido zu tun hat, sondern eine Art Netzwerk-Anmeldung ist?

Ein solches Problem hatte ich mit einem anderen CMS bei meinem Arbeitgeber.

Nur mal so als Denkanstoß :lol:

Gruß
Christian
C4.2 Installation
http://www.funsport-essen.de
C4.3.1 Installation
http://www.christianlange.de/contenido/cms/
(Spielwiese)

Bobby Shaftoe
Beiträge: 32
Registriert: Di 22. Jul 2003, 14:38
Kontaktdaten:

Beitrag von Bobby Shaftoe » Do 24. Jul 2003, 22:34

nicht geschützt
habe gerade dasselbe problem bei mir festgestellt. was beudet "nicht geschützt"? wo kann ich das einstellen?

danke für eure hilfe. ich hab contenido seit 3 tagen und bin begeistert :)

Gandresch
Beiträge: 20
Registriert: Mo 7. Jul 2003, 10:58
Kontaktdaten:

Beitrag von Gandresch » Fr 25. Jul 2003, 06:01

Du kannst im CMS (Backend) unter Content->Kategorie einzelne Kategorien schützen lassen (Ordner mit Schlüsselsymbol-> geschützt; ohne Schlüssel -> nicht geschützt). Und wenn du eine Kategorie geschützt hast kann es vorkommen das du den LOGIN-Screen siehst.

Der Login Screen kann aber auch so vorkommen (Warum weiß ich noch nicht). Bei mir hilft es dann den Cache und die Cookies zu löschen. Danach wird das Frontend vernünftig dargestellt.

Gruß Gandresch

Migosch
Beiträge: 15
Registriert: Mi 23. Jul 2003, 14:01
Wohnort: Berlin
Kontaktdaten:

unklar

Beitrag von Migosch » Fr 25. Jul 2003, 08:54

Hallo!

Also, wie ich es mir bereits gedacht hatte, ist es ja keine Standardeinstellung, dass die bereits vorhanden Kategorien oder neu angelegte, automatisch erstmal geschützt sind. Es ist also keine der Kategorien geschützt und deshalb kann ich den Schutz auch nicht entfernen.

Was die Sache mit den Cookies angeht, Gandresch, dann möchte ich ja mal behaupten, dass das ein Bug ist, der behoben werden sollte, weil das der normale Internetuser ja nicht wissen kann, dass er ab und an die Cookies löschen muss.

Ich werd das jetzt jedenfalls erstmal probieren und dann weitersehen. Eventuell mach ich gleich noch ein Edit zu diesem Post. :wink:

mfg
Migosch

EDIT: Also, Cookies gelöscht, Cache belassen, und plöp ich seh die Startseite ohne Login-Fenster. Ungünstig find ich das trotzdem, aber ich hab leider nicht die nötige Zeit, mich mit dem Problem näher zu beschäftigen. Daher wär ich ganz dankbar, wenn derjenige, der eine dauerhafte Lösung findet, diese hier noch posten könnte. Ich nehm auch PMs und eMails, aber meine eMail Addy wird hier ja nicht angezeigt. <feix>
Zuletzt geändert von Migosch am Fr 25. Jul 2003, 09:41, insgesamt 1-mal geändert.

Bobby Shaftoe
Beiträge: 32
Registriert: Di 22. Jul 2003, 14:38
Kontaktdaten:

Beitrag von Bobby Shaftoe » Fr 25. Jul 2003, 09:35

ich hab das frontend gestern abend zum ersten mal von zu hause abgerufen, hatte also noch keine cookies auf dem rechner. trotzdem kam der login prompt.

Migosch
Beiträge: 15
Registriert: Mi 23. Jul 2003, 14:01
Wohnort: Berlin
Kontaktdaten:

evtl. Lösung

Beitrag von Migosch » Di 19. Aug 2003, 11:51

Hallo, mal wieder!

Inzwischen ist ja einiges an Zeit ins Land gegangen, seit ich das Problem hatte. Tatsächlich habe ich seitdem auch mehrmals die Cookies löschen müssen, um das Loginfenster nicht mehr angezeigt zu bekommen. Durch einen anderen Beitrag in diesem Forum bin ich aber nach ein wenig Quellcodegewühle auf eine Idee gekommen, die das Problem lösen könnte.

Ich benutze den Konjunktiv, weil ich leider keine Ahnung habe, ob das tatsächlich funktioniert, denn erstens ist die Code-Dokumentation ja leider etwas insuffizient (darüber gab's hier auch schon Threads) und zweitens bekomme ich nun seit ein paar Wochen kein Loginfenster mehr angezeigt, ob ich die Cookies vor dem Seitenaufruf lösche oder nicht, und kann deshalb nicht prüfen ob es funktioniert.

Wer meine Herangehensweise testen möchte und Resultate bekommt, den bitte ich darum, mich über diese Resultate zu informieren. Außerdem weise ich an dieser Stelle ausdrücklich darauf hin, dass ich auf Grund der fehlenden Testphase keine Garantie für irgendwelche Funktionalitäten übernehmen kann. Wer den Workaround benutzt, tut dies also auf eigene Gefahr.

Hier nun aber mein Workaround für das Problem:

1. Datei editieren "conlib/auth.inc".
2. Ändern von Zeile 18 in

Code: Alles auswählen

var $lifetime = 0;             ## Max allowed idle time before
                                  ## reauthentication is necessary.
                                  ## If set to 0, auth never expires.
3. In Zeile 93 folgenden Code hinzufügen:

Code: Alles auswählen

$state = 2;
4. Datei speichern "conlib/auth.inc".
5. Datei hochladen "conlib/auth.inc".

Erklärungen:

In der Variablen $lifetime in Zeile 18 wird die Leerlaufzeit angegeben, nach der ein erneuter Login nötig wird. Setzt man diese Variable auf 0, so wird niemals ein erneuter Login fällig.

Die Variable $state gibt den Loginstatus an. Hier gibt es drei Möglichkeiten, die in der Funktion behandelt werden:
1. Nicht eingeloggt.
2. Eingeloggt.
3. Loginvorgang in Arbeit.
Um dem Script nun also vorzugaukeln, der User wäre bereits eingeloggt, fügt man der Funktion eine Zeile hinzu, in der man $state auf 2 setzt. Das passiert in Zeile 93, direkt nachdem die Variable $state durch das Script selbst in einer bedingten Anweisung auf 1, 2 oder 3 gesetzt wurde und überschreibt somit den gerade gesetzten Status immer mit dem "Eingeloggt"-Status, der dann abgefragt wird und die Funktion dazu veranlasst, den User am Loginfenster vorbeizuleiten.

Soweit die Theorie. Wie gesagt, ob das in der Praxis funktioniert, weiß ich leider nicht, aber ich könnte es mir gut vorstellen.

mfg
Migosch

EDIT: Nun gut, der Ansatz war in Ordnung, aber die Ausführung unbrauchbar. Inzwischen hat sich herausgestellt, dass mit dem obigen Workaround erreicht wird, dass auch im Backendbereich das Login umgangen wird. Dementsprechend ist man dann dort als noname-User eingeloggt und hat keinerlei Rechte und sieht gar nichts, außer des Menüs. Ich werd wohl doch noch ein wenig daran feilen. Bis dahin muss ich raten, keine der oben genannten Änderungen durchzuführen. --- Sorry, mein Fehler.

phpchris
Beiträge: 438
Registriert: Fr 28. Mai 2004, 16:07
Kontaktdaten:

Beitrag von phpchris » Do 23. Jun 2005, 10:40

Gibt es hierzu schon eine Lösung?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 23. Jun 2005, 10:44

nein, da ich das Problem nie reproduzieren konnte.

phpchris, bist du sicher, daß du noch die 4.3.1 beta verwendest?

phpchris
Beiträge: 438
Registriert: Fr 28. Mai 2004, 16:07
Kontaktdaten:

Beitrag von phpchris » Do 23. Jun 2005, 11:07

Achso...lol

Nein, bin auf diesen Artikel über die Suche gestoßen und habe nicht auf die Version geachtet.

Ich verwende die Version 4.4.4...

Da habe ich das Problem bei jedem Neuaufruf...

Gesperrt