Zum Inhalt springen

felogin - logout funzt nur bedingt

Erstellt am 26. Juni 2008 · 16 Antworten · letzte Antwort am 12. Juni 2010

Tags: felogin, Frage

olly777 ·

Vielleicht hat ja von euch jemand die Lösung parat :-).
Ich habe auf meiner Seite den felogin eingebaut. Es funzt (durch die Hilfe von steffenk (dank dir nochmal)) auch alles fast wunderbar. Was ich aber jetzt leider durch Zufall herausgefunden habe ist folgendes:

Ich log mich mit meinem Username und meinem Passwort ein. Klappt! Jetzt das Problem. Wenn ich mich dann weiter durch die Website klicke, kann ich mich auch wieder ausloggen. Wenn ich mich allerdings sofort wieder auslogge, nachdem ich mich eingeloggt habe, will er die Seite aufrufen, die er ansteuert wenn ich eingeloggt bin. Also, in id's gesprochen......login = id 75 und er will sofort beim logout auch wieder die id 75 aufrufen, die dann natürlich zu einer Fehlermeldung führt. Obwohl ich ihm per TS ja sage, er soll beim logout die id 42 aufrufen. Sehr komisch, oder :-)

Hier mal mein TS

plugin.tx_felogin_pi1 {
  storagePid = 72
  preserveGETvars = all
  wrapContentInBaseClass = 0
  showForgotPasswordLink = 0
  showPermaLogin = 0

          
        #redirect
        redirectMode = userLogin,groupLogin,login,logout
        redirectFirstMethod = 1
        redirectPageLogin = 75
        redirectPageLogout = 42
}

Kennt jemand das Problem? Oder hat da jemand vielleicht ne Lösung für. Bin über jeden Tipp dankbar ;-).

Beste Grüße
Olly

steffenk ·

folgendes funktioniert bei mir wunderbar:

lib.login = COA_INT
lib.login {
   10 < plugin.tx_felogin_pi1 
   10 {
        storagePid = 111
        preserveGETvars = all
        wrapContentInBaseClass = 0
        showForgotPasswordLink = 0
        showPermaLogin = 0
        #redirect
        redirectMode = userLogin,groupLogin,login,logout
        redirectFirstMethod = 1
        redirectPageLogin = 129
        redirectPageLogout = 113
    } 
}

129 ist eine usergroup-geschützte Seite, lib.login ist immer als Content eingebunden.

Logge ich mich ein, lande ich auf der Userseite 129, logge im mich wieder aus, lande ich auf 113 - no problem

olly777 ·

Komisch, bei mir will das einfach nicht funktionieren. Bekomme immer "Feheler 404" zu gesicht, wenn ich mich auslogge. Habe Dein Script mal eingebaut, allerdings ist bei mir keinerlei Veränderung. Einloggen klappt, sofortiges ausloggen leider nicht.

Folgendermaße spreche ich den Login an:

Im TS auf meiner Rootseite spreche ich den Marker an und sage ihm, dass er das TS-Template tmp.login ausführen soll.

LOGIN < tmp.login

Das TS-Template beinhaltet dann den Rest:

tmp.login = COA_INT
tmp.login {
   10 < plugin.tx_felogin_pi1
   10 {
        storagePid = 72
        preserveGETvars = all
        wrapContentInBaseClass = 0
        showForgotPasswordLink = 0
        showPermaLogin = 0
        #redirect
        redirectMode = userLogin,groupLogin,login,logout
        redirectFirstMethod = 1
        redirectPageLogin = 75
        redirectPageLogout = 42
    }
}

Seht Ihr einen Fehler, oder wisst Ihr, wo ich den Denkfehler habe? Dann teilt ihn mir bitte mit. Es ist ja nicht so, dass der Login/Logout nicht funktioniert, allerdings ist das so, wie es jetzt ist, keine professionelle Lösung und auf dauer nicht anwendbar. Trotzdem schonmal vielen Dank bisher für die Hilfe.

claudia2 ·

Hallo,

ich habe das gleiche Problem... Login Formular per TS eingebunden, auch schon Steffens TS getestet, aber kein redirect bei Logout.

selbst wenn ich unter redirectMode nur logout angebe, funktionert der logout-redirect nicht 🙁

Ist immer doof Ansprüche zu stellen, bei Extensions die kostenlos zur Verfügung stehen... aber ich würde mich schon freuen, wenn jemand eine Lösung für das Problemchen hat ;-)

grüße,
claudia

claudia2 ·

Hallo,

ich bin immer noch nicht wirklich weiter, inzwischen weiss ich nur folgendes:

* redirect funktioniert wenn ich mich auf öffentlicher Seite befinde

* redirect funktioniert nicht, befinde ich mich auf einer zugriffsgeschützten Seite

woran kann das liegen?

hier mein TS:

lib.login {
    #redirect
    redirectMode = login,logout
    #logout, userLogin, referer    
    redirectFirstMethod = 
    redirectPageLogin = 13
    redirectPageLoginError = 3
    redirectPageLogout = 3
   
    #disable redirect with one switch
    redirectDisable =
}

anscheinend bin ich nicht die einzige mit diesem Problem:
#7861211

ich könnte jetzt daher gehen (das mache ich zur Not auch...) und im Template das

<form action="###ACTION_URI###" method="post">

durch

<form action="zielseite.html" method="post">

zu ersetzen, aber das kann ja nicht Sinn der Sache sein...

steffenk ·

ich würde das sofort fixen wenn ich es reproduzieren könnte.

Wenn einer mit dem Problem mir einen Zugang macht, wo ich auch debuggen darf, dann kann ichs rausfinden 😉

tantebootsy ·

Hi Steffen,

habe dir per PM mal Zugangsdaten zu einer Installation geschickt, bei das Problem ebenfalls besteht.

VG,
Micha

steffenk ·

Hi @all,

ich habe einen patch geschrieben, der nun den redirect für logout auch von Userpages ermöglicht. Es wird bei Logout und definierter logout-redirect-Methode diese Url für den ACTION-Tag der Logoutform genutzt.

Patch ist im BT und in der corelist (für 4.2.2 und 4.3)

http://bugs.typo3.org/view.php?id=8677

x13 ·

Typo3-Neuling benötigt Hilfe:

Hallo Leute,

schade des es keine StepByStep Anleitung für das neue FELogin gibt. Aber nach langem hin und her, einigen (ok sehr vielen) Threads und etwas herum probieren habe ich es hinbekommen. Wenn man es einmal verstanden hat, ist es auch nicht mehr so kompliziert.

Dennoch habe ich ein Problem: Wenn ich ohne Login oder nach Logout eine gesperrte Seite aufrufe (Beispielsweise als Lesezeichen), möchte ich natürlich, dass auf die Loginseite weitergeleitet wird. Stattdessen bekomme ich folgende Meldung:

"Error! The requested page didn't have a proper connection to the tree-root!()"

Grundaufbau: Meine komplette Website ist bis auf die Loginseite gesperrt. Auf der Loginseite habe ich das Anmeldeformular als Inhaltselement eingefügt - "after Login/Logout" funktioniert.

Es wäre also sehr nett, wenn mir da jemand auf die Sprünge helfen könnte ...

DANKE im Voraus ... MfG X13

nutzlars ·
steffenk schrieb

Hi @all,

ich habe einen patch geschrieben, der nun den redirect für logout auch von Userpages ermöglicht. Es wird bei Logout und definierter logout-redirect-Methode diese Url für den ACTION-Tag der Logoutform genutzt.

Patch ist im BT und in der corelist (für 4.2.2 und 4.3)

http://bugs.typo3.org/view.php?id=8677

danke

für den patch....nu läuft alles wunderbar

thx
lars

tantebootsy ·

Nachdem ich den im Bugtracker geposteten Patch eingespielt hatte funktionierte es wunderbar. Nach einem Update von 4.2.3 auf 4.2.5 besteht das Problem bei mir jedoch wieder. In der class.tx_felogin_pi.php wurde scheinbar folgende Zeile des Patches nicht übernommen:

} elseif ($this->logintype === 'logout' || !$this->logintype) { // after logout

Wenn ich diese einfüge (Zeile 411 bei der 4.2.5er felogin) funktioniert der Logout wieder.

LG,
Micha

klaeff ·

kann es sein dass im TYPO3 4.2.10 wieder das felogin nicht mit patch eingespielt wurde?
Seither gehen meine logout redirects nur noch zum Teil:

Seite
|_ Unterseite mit Anmeldung
|_ geschützte Seite (Unterseite von Anmeldung)

Anmeldung mit Weiterleitung zur "geschützte Seite" geht.
Abmeldung von Unterseite mit Anmeldung und redirect zu "Seite" geht.
Abmeldung von geschützte Seite und redirect zu "Seite" liefert 404 Fehler

Wir versuchen den patch einzuspielen und melden uns, obs hilft.

Gruß
klaus

klaeff ·

der eingespielte patch hat das Problem bei uns behoben.
Fragt sich nur, warum er noch nicht in die felogin SYS-Extension integriert wurde?
Gruß
klaus

o_alemao ·

Ich hänge mich jetzt auch noch einmal hier dran. Habe mittlerweile alle möglichen Einstellungen ausprobiert, den Patch manuell in die class.tx_felogin_pi1.php eingearbeitet, aber ich bekomme meine 404-Fehlermeldung nicht weg, wenn jemand sich von einer geschützten Seite ausloggt :-(

Besteht das Problem noch, oder bin ich einfach zu unfähig?

############### FE login ####################
plugin.tx_felogin_pi1 {
		#storagePid - where are the user records? use single value or a commaseperated list
	storagePid = 32
	
		#Template File
	templateFile = fileadmin/cemiterio/felogin.html
	
		#wrapContentInBaseClass
	wrapContentInBaseClass = 1
	
	
		#typolink-configuration for links / urls
		#parameter and additionalParams are set by extension
	linkConfig {
		target = 
	}
	
		#preserve GET vars - define "all" or commaseperated list of GET-vars that should be included by link generation
	preserveGETvars = all
	
	
		#additional fields
	showForgotPasswordLink = 1
	showPermaLogin =
		
	redirectMode = userLogin,groupLogin,login,logout

        redirectFirstMethod = 1

        redirectPageLogin = 64
 
        redirectPageLogout = 34

        redirectDisable = 0
	
	#disable redirect with one switch
	redirectDisable = 
	
	email_from = 
	email_fromName =
	replyTo =
	
	
	# Allowed Referrer-Redirect-Domains:
	domains =
	
	
}

und dann

login < plugin.tx_felogin_pi1

Änderungen aus bugs.typo3.org

Index: typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php
===================================================================
--- typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php	(revision 4016)
+++ typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php	(working copy)
@@ -210,7 +210,12 @@
 		$markerArray['###STORAGE_PID###'] = $this->spid;
 		$markerArray['###USERNAME###'] = htmlspecialchars($GLOBALS['TSFE']->fe_user->user['username']);
 		$markerArray['###USERNAME_LABEL###'] = $this->pi_getLL('username', '', 1);
-
+		
+		if ($this->redirectUrl) {
+				// use redirectUrl for action tag because of possible access restricted pages
+			$markerArray['###ACTION_URI###'] = $this->redirectUrl;
+			$this->redirectUrl = '';
+		}
 		return $this->cObj->substituteMarkerArrayCached($subpart, $markerArray, $subpartArray, $linkpartArray);
 	}
 
@@ -395,10 +400,10 @@
 							}
 						break;
 					}
-				} elseif ($this->logintype === 'logout') { // after logout
+				} elseif ($this->logintype === 'logout' || !$this->logintype) { // after logout
 
 					// Hook for general actions after after logout has been confirmed
-					if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['logout_confirmed']) {
+					if ($this->logintype === 'logout' && $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['logout_confirmed']) {
 						$_params = array();
 						foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['logout_confirmed'] as $_funcRef) {
 							if ($_funcRef) {

Typo 4.3.3

Viele Grüsse,
Matthias

o_alemao ·

Da es hier anscheinend keine Lösung gibt, habe ich es statisch, wie von Claudia schon erwähnt gelöst.

claudia2 schrieb

ich könnte jetzt daher gehen (das mache ich zur Not auch...) und im Template das

<form action="###ACTION_URI###" method="post">

durch

<form action="zielseite.html" method="post">

zu ersetzen, aber das kann ja nicht Sinn der Sache sein...