Register_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Register_XH

Post by kmsmei » Thu Oct 18, 2012 6:34 pm

Hallo Christoph,

gratuliere zum fertigen PlugIn - es leistet wirklich gute Dienste. Habe gerade von 1.2.3 ein problemloses Update gefahren.

Wenn ich für den weiteren Weg noch den einen oder anderen Wunsch äußern dürfte - es handelt sich um einige Konfigurationsoptionen, die mir an der einen oder anderen Stelle nützlich erscheinen:
a) verstecken der "Usereinstellungen" im angemeldeten Zustand
b) verstecken der "Passwort vergessen" - Option im nicht angemeldeten Modus
c) konfigurierbares Weiterleitungsziel (beliebige CMSimple-Seite), wohin nach dem Login gewechselt wird.

Nur so als Idee und Anregung...

In dem Zusammenhang aber gleich noch eine Frage: Gilt die Aussage von http://www.cmsimpleforum.com/viewtopic. ... 700#p28277 bezüglich des Seiten Versteckens und Schützens auch in der aktuellen Version noch? Nach meinem Update sehe ich jetzt bei
"hide_pages=true"
und Verwendung von
#CMSimple $output.=access('member,admin');$output.=comments('comments4');#
die Seite in der Navigation wieder, kann aber wie es sich gehört nicht drauf zugreifen.

Viele Grüße und schönen Abend noch.
Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Register_XH

Post by cmb » Thu Oct 18, 2012 7:39 pm

Hallo Frank,
kmsmei wrote:gratuliere zum fertigen PlugIn - es leistet wirklich gute Dienste.
Danke für das Lob, aber wirklich fertig ist das Plugin noch lange nicht. ;) Und vielen Dank für die Anregungen; ich bin immer froh über das Feedback von Anwendern.
kmsmei wrote:in der aktuellen Version
Welche meinst Du denn? Die stabile 1.4 oder die Beta-Version von 1.5?
kmsmei wrote:verstecken der "Usereinstellungen" im angemeldeten Zustand
Es gibt ja bereits die Möglichkeit, dass man User "locked". Die dürfen dann die Einstellungen nicht mehr bearbeiten -- allerdings habe ich gerade gesehen, dass das nicht sehr elegant gelöst ist: der Link zu den "Benutzereinstellungen" ist da, und erst nach dem Klick erfährt man, dass man nichts ändern darf. Das werd ich auf jeden Fall ändern.

Eine allgemeine Konfig-Option um das für alle zu machen? Ich bin nicht sicher. Das ist zwar nicht viel Programmieraufwand, aber es ist halt wieder eine Option mehr. Alternativ ist es auch denkbar, dass ich in der Benutzerverwaltung noch einen Schalter anbiete, mit dem einfach alle User gelockt werden können.
kmsmei wrote:verstecken der "Passwort vergessen" - Option im nicht angemeldeten Modus
Für gelockte User sollte das sowieso ausgeblendet werden, zumindest wenn die Kennwort-Verschlüsselung aktiviert ist (was unbedingt sein sollte). Würde das dann reichen, oder ist eine zusätzliche Konfig-Option sinnvoll?
kmsmei wrote:konfigurierbares Weiterleitungsziel (beliebige CMSimple-Seite), wohin nach dem Login gewechselt wird.
Das gibt's schon. Es kann in den Spracheinstellungen (da der Name der Seite in einer mehrsprachigen Installation ja sprachabhängig ist) unter "config login page" eingetragen werden. Das sollte ich mal besser dokumentieren.
kmsmei wrote:"hide_pages=true"
und Verwendung von
#CMSimple $output.=access('member,admin');$output.=comments('comments4');#
die Seite in der Navigation wieder, kann aber wie es sich gehört nicht drauf zugreifen.
An so komplexes Scripting habe ich gar nicht gedacht! In diesem Fall wird die Seite tatsächlich nicht versteckt, weil die neue RegEx da wesentlich restriktiver arbeitet. Allerdings gelten die Aussagen aus dem genannten Thread (gut, dass Du diesen erwähnst) nicht mehr ab Register_XH 1.4. Nun funktioniert der Plugin-Call zum Schützen und Verstecken der Seiten:

Code: Select all

{{{PLUGIN:access('member,admin');}}}
und als Alternative

Code: Select all

#CMSimple access('member,admin');}}}
wobei ich ersteres empfehle. D.h. da müsstest Du die Änderungen wieder rückgängig machen -- sorry!

Ich habe übrigens schon mal experimenteller Weise den Zugriffsschutz in einem Pagedata-Tab implementiert. Das kommt dann bei 1.6 oder 2.0 als alternative Möglichkeit.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Register_XH

Post by kmsmei » Thu Oct 18, 2012 8:24 pm

Hallo Christoph,

aktuell arbeite ich mit der 1.4 - ist eben eine Vereinsseite, also quasi "in Produktion".

Mit den "Usereinstellungen" will ich einfach erreichen, dass sich selbst oder andere keine Nutzer aussperrt indem er irgendwelche Passwörter ändert. Manchmal legt man nun einmal nur einen Benutzer an ("Herr Vereinsmitglied"), mit dessen Passwort dann viele zugreifen. Da wäre Ändern kontraproduktiv. Bis jetzt habe ich immer die paar Zeilen im Code chirurgisch entfernt 8-) .

Die "Passwort vergessen" - Sache hat den gleichen Hintergrund. Die sollen sich mal schön brav an mich wenden, wenn das Gedächtnis nicht mehr funktioniert.

Was den dritten Punkt betrifft - sorry, habe ich übersehen. Nur das ich nicht so richtig zum Zuge komme: Egal ob ich da "?Aktuelles" oder nur "Aktuelles" eingebe, wirft mir die Untersuchung im Browser folgendes aus:

Code: Select all

<form action="/?Mitgliederbereich" method="post">
(Login-Prozess wird auf der Seite Mitgliederbereich gestartet).

Was den Funktionsaufruf betrifft mach ich mir keine Sorgen - dann ändere ich halt die paar wenigen Seiten. Was die RegEx betrifft - ist die systemweit tätig oder nur im PlugIn? Mein mit deiner Hilfe gestricktes Pixlie-PlugIn macht seit dem Update auf 1.5.5 Späne und wirft mit was vor:

Code: Select all

Cannot modify header information - headers already sent (output started at /var/kunden/webs/user202/html/_cms/plugins/pixlie/pixlie.php:729)
Da wird sich wohl eine Leerzeile oder ein Seitenumbruch zwischen php-Script eingeschlichen haben :x . Bis zum Update ging es halt und das garnicht so schlecht.

Gruß und Dank
Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Register_XH

Post by cmb » Thu Oct 18, 2012 8:58 pm

Hallo Frank,
kmsmei wrote:Mit den "Usereinstellungen" will ich einfach erreichen, dass sich selbst oder andere keine Nutzer aussperrt indem er irgendwelche Passwörter ändert. Manchmal legt man nun einmal nur einen Benutzer an ("Herr Vereinsmitglied"), mit dessen Passwort dann viele zugreifen. Da wäre Ändern kontraproduktiv.
Da passt es doch aber auch gut, wenn einfach in der Userverwaltung der Status=locked (statt activated) gesetzt wird. Dann ist das Ändern nicht mehr möglich.
kmsmei wrote:Die "Passwort vergessen" - Sache hat den gleichen Hintergrund. Die sollen sich mal schön brav an mich wenden, wenn das Gedächtnis nicht mehr funktioniert.
Harte Regeln! :) Aber die Idee sehe ich ein; ich schreib's auf die ToDo-Liste.
kmsmei wrote:Egal ob ich da "?Aktuelles" oder nur "Aktuelles" eingebe, wirft mir die Untersuchung im Browser folgendes aus:
Ja, das ist auch so gedacht, da man dann wieder auf der Seite landet, wenn ein Fehler beim Login unterlaufen ist. Das ist wichtig, wenn das Loginformular nicht im Template, sondern im Content aufgerufen wird. Nach dem erfolgreichen Login wird dann aber ein Redirect-Header an den Browser geschickt, der dann die gewünschte Seite aufrufen sollte (übrigens ohne Fragezeichen am Anfang, also "Aktuelles"). Das klappt aber möglicherweise nicht, weil die Header schon gesendet wurden.
kmsmei wrote:Was die RegEx betrifft - ist die systemweit tätig oder nur im PlugIn?
Die Regex ist quasi systemweit tätig, da sie bei jedem Aufruf von CMSimple_XH alle Seiten des Content prüft. Das sollte aber nichts mit den Headern zu tun haben.
kmsmei wrote:Mein mit deiner Hilfe gestricktes Pixlie-PlugIn macht seit dem Update auf 1.5.5 Späne und wirft mit was vor:
Diese Prüfung wurde schon bei CMSimple_XH 1.5.4 eingebaut. Der Hauptgrund waren die Probleme mit BOMs, die es immer mal wieder gab, und die dann z.B. das Login verhindert haben. Darüber hinaus wird seit 1.5.4 an dieser Stelle ein Content-Type-Header geschickt, der UTF-8 forciert (das hat bisweilen als <meta http-eqiv> nicht funktioniert). Und so manches Plugin ist ebenfalls darauf angewiesen, dass die Header noch nicht gesendet wurden. Daher find ich die Prüfung eigentlich sehr sinnvoll, auch wenn die Reaktion auf bereits gesendete Header recht hart ist: Skriptabbruch.
kmsmei wrote:Da wird sich wohl eine Leerzeile oder ein Seitenumbruch zwischen php-Script eingeschlichen haben :x . Bis zum Update ging es halt und das garnicht so schlecht.
Ich hab gerade mal Pixlie2 runter geladen; da hat die Datei nur 708 Zeilen. Ich vermute, dass nach dem abschließenden ?> noch mehr als eine Leerzeile steht. Im Zweifel kann man das abschließende ?> auch ganz weglassen; dann gibt's keine Probleme.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Register_XH

Post by kmsmei » Fri Oct 19, 2012 10:37 am

Hallo Christoph,
wenn einfach in der Userverwaltung der Status=locked (statt activated) gesetzt wird
Klar, das passt auch.
wenn das Loginformular nicht im Template, sondern im Content aufgerufen wird.
Genau das mache ich auf der Seite "Mitgliederbereich", weil ich vorher noch ein paar Hinweise stehen habe, wie man zum Login kommt. Mal sehen, ob mir da was alternatives einfällt.
Pixlie2 ...nach dem abschließenden ?> noch mehr als eine Leerzeile steht. Im Zweifel kann man das abschließende ?> auch ganz weglassen;
Das war's nicht. Aber ich habe inzwischen in der index.php ein paar html-Statements gefunden, die außerhalb der <?php ... ?> Kapselung stehen. Ich denke mal, die werde ich mir zuerst ansehen müssen.

Die 1.5.4 hatte ich übersprungen und bin bisher auf 1.5.3 unterwegs gewesen - daher ist mir das Verhalten wahrscheinlich auch nicht aufgefallen.

Gruß Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Register_XH

Post by cmb » Fri Oct 19, 2012 11:19 am

Hallo Frank,
kmsmei wrote:Das war's nicht. Aber ich habe inzwischen in der index.php ein paar html-Statements gefunden, die außerhalb der <?php ... ?> Kapselung stehen. Ich denke mal, die werde ich mir zuerst ansehen müssen.
Ja, das solltest Du. Aber es sollte genügen, wenn Du Dich auf die genannte Zeile (729) konzentrierst, bzw. die Zeile davor.
kmsmei wrote:Genau das mache ich auf der Seite "Mitgliederbereich", weil ich vorher noch ein paar Hinweise stehen habe, wie man zum Login kommt. Mal sehen, ob mir da was alternatives einfällt.
Ich vermute, dass Problem sind auch hier vorzeitig gesendete Header, so dass die Relocation nicht funktioniert. Am besten aktivierst Du mal den Debug-Mode. Da sollte dann eine Fehlermeldung erscheinen ganz ähnlich derjenigen bzgl. Pixlie.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Register_XH

Post by kmsmei » Mon Oct 22, 2012 5:33 pm

Hallo Christoph,

für's Pixlie kann ich Entwarnung geben - geht wieder. Ursache war wie von Dir vermutet unmittelbar an der Fehlerzeile.
Pixlie ruft dort noch eine Pufferausgabe auf, die meines Erachtens gar nicht gebraucht wird:
ob_flush(); //Ausgabe des Puffers
Nun ja, wenn ich die auskommentiere läuft alles bestens.
Aber die angekündigte Bereinigung der index.php stelle ich mir trotzdem noch auf die ToDo-Liste. Die ist quasi noch im Rohprobierstadium und hat das Schicksal mancher Projekte geteilt: Wenns geht, ist's gut - warum noch angreifen.

Gruß Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Register_XH

Post by cmb » Sat Nov 24, 2012 12:56 pm

Hallo Zusammen,

Ich habe gerade Register_XH 1.5beta2 veröffentlicht.
  • Die Benutzerverwaltung hat nun eine Auswahlbox für den Status, einen Schalter zum Ändern des Kennworts und eine Möglichkeit eine Ad-hoc-E-Mail an einen Benutzer zu versenden (das erfordert einen E-Mail-Client)
  • Es gibt eine neue Konfigurationsoption um den "Kennwort vergessen" Link auszuschalten.
  • Die "Spezialseiten" von Register_XH sind nun dokumentiert.
Vor langer Zeit hat sich basingse gewünscht, dass es eine Möglichkeit gibt, die Login-Seite für jeden Benutzer individuell festlegen zu können. Ich finde, das ist ein bisschen übertrieben, aber es könnte ganz sinnvoll sein, die Login-Seite für jede Gruppe einstellen zu können. Haltet Ihr das für nützlich?

Auch weiterhin freue ich mich über Anmerkungen, Vorschläge und andere Rückmeldungen.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Register_XH

Post by Holger » Sat Nov 24, 2012 10:35 pm

Hallo Christoph,

hab's heute schnell mal installiert: cool! Wird immer besser!
Ich habe nur das Backend ausgetestet, an der restlichen Funktionalität gab es ja keine Änderungen und ich gehe davon aus, dass die anderen Funktionen laufen.

Eine Anmerkung: der Mailto-Link ist zunächst hart auf Deine Mailadresse gesetzt. Warum in Zeile 256 / admin.php nicht gleich

Code: Select all

. '<td>' . '<a href="mailto:'.$entry['email'].'" onclick="register.mailTo(this)">' 
(die Mail geht natürlich auch ohne diese Änderung an die richtige, per JS gesetzte Mailadresse des Users, der Link sieht im Browser halt nur komisch aus).
cmb wrote:Auch weiterhin freue ich mich über Anmerkungen, Vorschläge und andere Rückmeldungen.
Gerne :mrgreen: :
  • Paginierung der User-Tabelle
  • Such- bzw. Filterfunktion für User-Tabelle
  • Einer speziellen Gruppe (per Konfig definierbar) die Möglichkeit zur Administration der Usertabelle zu geben[1] (also ohne Admin-Mode des CMS)
  • Welcome-Seite nach Usergroup[2]
[1]Klar kann ich diese Funktion auch selber in meinem Plugin nachbilden - wenn Du das nicht gut findest. Ich lasse bei meinen Anwendungen derzeit aber den Admin-Mode des CMS komplett außen vor und verlagere in vielen Fällen die Administration der Anwendung an eine per Register gesetzte Usergroup.

[2]Aus den in [1] genannten Gründen habe ich auf der Welcome-Seite bisher immer ein kleines Skript eingebaut, welches die User, passend zur Gruppe, wenn nötig dann nochmals weiter geleitet hat. Wäre schön, wenn Du das einbauen würdest.

LG
Holger

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Register_XH

Post by Holger » Sat Nov 24, 2012 10:48 pm

Noch eine Kleinigkeit:

Szenario: der Admin ändert das Passwort und will mittels Mail-Button die Daten an den User senden.
Das Passwort wird nur versendet, wenn der Admin die geänderten Daten noch nicht gespeichert hat.
Speichert er aber nicht, kommt beim Klick auf das Mailicon aber die check-dirty - Warnung des Browsers ("Wollen Sie die Seite verlassen... Daten noch nicht gespeichert...).
Ignoriert er die Warnung nicht und speichert erst die Daten, wird dass dann verschlüsselte Passwort nicht mehr mitgesendet, was ja so durchaus richtig ist...

Außerdem solltest Du überlegen, ob Du den Formularstatus (Details einblenden) nicht in einem Cookie sicherst (ja, ja, Cookie-Law...).
Ich finde es aber so nicht ganz optimal.

LG
Holger

Post Reply