Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 24. September 2015 20:28

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

Grüß Gott ihr lieben Leut...

ich habe auf einer Webseite FEU voll funktionstüchtig zum Laufen gebracht ( war ein hartes Stück Arbeit ). Alles bestens soweit! Nun hab ich das FEU so eingestellt dass nach 3 Minuten Nichtstun, der angemeldete User automatisch ausgeloggt wird. Das funktioniert auch soweit, aber der rausgeschmissene User sieht nur:

"Forbidden We are sorry, but you do not have the appropriate permission to view this item."

Gibt es da nicht eine elegantere Lösung? Zum Beispiel, automatisch auf eine editierte Seite weiterleiten, wo erklärt wird dass man automatisch ausgeloggt wurde. Oder gibt es das schon und ich hab die Einstellung übersehen? Oder kann man die "Forbidden"-Seite editieren und mit einem Link auf die Loginseite ausstatten. Oder direkt wieder auf die Login-Seite Pitchen?

Ich bitte um Hilfe und bin für jede Lösung dankbar!

Gruß an Alle


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#2 25. September 2015 22:38

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Hab das Modul gerade nirgends zum Testen online, aber gibt es da nicht eine Einstellung bzw. einen Modul-Parameter, wo man einstellen kann, wohin man nach dem Logout weitergeleitet wird?


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#3 25. September 2015 10:39

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 180

Re:

Unter: Benutzerverwaltung -> FrontendUser-Verwaltung -> (oben rechts) Einstellungen -> (Tab) Interne Authentifizierung
im Bereich "Weiterleitungs-Einstellungen" bei
Seiten-ID/-Alias der Seite, auf die nach der Abmeldung gesprungen werden soll *:

das Seitenalias der Seite eintragen auf die nach der Abmeldung gesprungen werden soll, könnte klappen. Weiss allerdings nicht ob das bei automatischer Abmeldung damit auch funktioniert.

Offline

#4 25. September 2015 13:04

Jamman
Server-Pate
Ort: Greimerath
Registriert: 21. März 2013
Beiträge: 85

Re:

Ich habe das gleiche Problem bei einer Seite wie Parsec.

Der Alias/Id-Eintrag aus den Weiterleitungsoptionen ist mir bekannt, funktioniert aber leider nur bei einer regulären Abmeldung.
Im Falle der automatischen Abmeldung wird die eingetragene Seite leider nicht angesprochen, zumindestens bei mir...

Ich könnte hier auch einen guten Tip gebrauchen.

Danke schonmal.   Grüße Jamman

Offline

#5 25. September 2015 17:47

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Schon in die Ereignisverwaltung geschaut?

Offline

#6 27. September 2015 10:42

Jamman
Server-Pate
Ort: Greimerath
Registriert: 21. März 2013
Beiträge: 85

Re:

NaN schrieb:

Schon in die Ereignisverwaltung geschaut?

Hi NaN, danke für den Hinweis. Ich hab reingeschaut und den Event 'OnExpireUser' entdeckt, der mir am naheliegensten erschien.
Ich weiß, dass man mit einem Event ein Modul oder einen UDT triggern kann. Ich dachte dass ich z.B. mit einem PHP-Redirect innerhalb eines UDT's vielleicht auf dem richtigen Weg wäre, aber das lief nicht.
Denke ich falsch? Bitte erhelle mich  cool

Gruß und schönen Sonntag

Offline

#7 27. September 2015 18:14

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Sorry, aber bei mir funktioniert die ganze FEU-Sache vorn und hinten nicht.

Nun hab ich das FEU so eingestellt dass nach 3 Minuten Nichtstun, der angemeldete User automatisch ausgeloggt wird. Das funktioniert auch soweit

Wo habt ihr da was eingestellt?
Was bedeutet "Nichtstun"?

Ich werde z.B. generell nach 30 Sekunden ausgeloggt.
Obwohl ich die ganze Zeit auf der Seite aktiv bin.
D.h. ich klicke mich da durch die Seiten und irgendwann *schwupps* bin ich ausgeloggt.
Was muss ich also tun, um als "aktiver User" wahrgenommen zu werden?

EDIT: AHA!
Das Modul aktualisiert den Zeitpunkt der letzten Aktivität eines Users nur alle 3 Minuten monkey
(Ich will einen Facepalm-Smiley!)
D.h. man muss in den FEU-Einstellungen bei "Auszeit für Session" mindestens 180 Sekunden eintragen!


Das Event OnExpireUser wird offenbar nie ausgeführt.
Wenn ich mich da durch den Code wühle, stoße ich auf sowas:

FrontEndUsers.module.php

 private function _load()
    {
        ...
            $this->usermanip->SetExpireNotifier(array($this,'NotifyExpiredUser'));
        ...
    }

D.h. man übergibt dem Usermanipulator eine Callback-Funktion namens NotifyExpiredUser() in der Klasse FrontEndusers.

Dann sehe ich in class.Usermanipulator.php folgendes:

public function SetExpireNotifier($callback)
  {
    if( is_callable($callback) )
    {
      $this->_expire_notifier_callback = $callback;
    }
  }

D.h. die übergebene Callback-Funktion wird nur dann gesetzt, wenn sie auch aufrufbar ist.

Dann sehe ich in FrontEndUsers.module.php:

protected function NotifyExpiredUser( $userid )
    {
        ...
        $this->SendEvent('OnExpireUser',$parms);
        ...
    }

Man beachte das "protected". D.h. diese Funktion ist vom Usermanipulator aus NICHT aufrufbar. Ergo wird im Usermanipulator auch keine Callback-Funktion gesetzt. Und das wiederum bedeutet, dass dieses hier in class.FrontEndUsersManipulator.php nie zu einem Ergebnis führen kann:

function ExpireUsers()
    {
          ...
                $this->NotifyExpiredUser( $row['userid'] );
          ...
    }

Weil die Funktion im Usermanipulator dieses macht:

protected function NotifyExpiredUser($params = array())
  {
    ...
    if( $this->_expire_notifier_callback ) call_user_func_array($this->_expire_notifier_callback,$params);
  }

Sie versucht also diese (für den Usermanipulator nicht existente) Callback-Funktion aufzurufen. Daher kann das Event OnExpireUser auch nie ausgeführt werden, weil das nämlich in dieser Callback-Funktion geschehen soll. Wenn man dieses "protected" in "public" ändert, dann klappt es.
EDIT: Ich will UNBEDINGT einen Facepalm-Smiley!

ABER:

Ihr könnt auch über die .htaccess-Datei eine benutzerdefinierte Fehlerseite definieren:

ErrorDocument 403 index.php?page=error403

Dann im CMS eine Seite vom Typ "Fehlerseite" mit Fehlertyp "Page forbidden (403)" anlegen und dort 'nen netten Text schreiben.

Klappt auch ganz gut.

Offline

#8 27. September 2015 19:17

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

NaN schrieb:

EDIT: Ich will UNBEDINGT einen Facepalm-Smiley!

Das gibt die aktuelle Toolbar in FluxBB nicht her hmm ... kann ich aber dafür in Panther frei konfigurieren wink.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#9 27. September 2015 20:18

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 180

Re:

Ich fände einen "gefällt mir" Button toll, um sich für einen hilfreich Posts zu bedanken smile
Danke für die Lösungen!

Beitrag geändert von bd0 (28. September 2015 08:16)

Offline

#10 27. September 2015 20:53

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Gibt's auch in Panther und nennt sich Reputationssystem. Da steht dann unter jedem Beitrag "War der Beitrag für dich hilfreich? (+) ja, (-) nein" Und dafür bekommt der Poster dann Punkte, wobei sich konfigurieren lässt, ob es auch negative Punkte geben soll.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#11 28. September 2015 23:35

Jamman
Server-Pate
Ort: Greimerath
Registriert: 21. März 2013
Beiträge: 85

Re:

NaN schrieb:

Sie versucht also diese (für den Usermanipulator nicht existente) Callback-Funktion aufzurufen. Daher kann das Event OnExpireUser auch nie ausgeführt werden, weil das nämlich in dieser Callback-Funktion geschehen soll. Wenn man dieses "protected" in "public" ändert, dann klappt es.
EDIT: Ich will UNBEDINGT einen Facepalm-Smiley!

Danke NaN für deine Hilfe.
Wenn ich deine Code-Rundreise richtig verstehe, ist das Modul wohl unsauber bzw. nicht konsequent programmiert.

Deinen Ratschlag per Fehlerseite 403 probiere ich gerne die Tage aus. Ich melde mich, ob's ne Lösung gegeben hat.

Gruß

Offline

Fußzeile des Forums

Powered by FluxBB