Trennzeichen bei Userrechten

Alles rund um die aktuellste Version aus Github (und den alten Beiträgen zu SVN/CVS)

Trennzeichen bei Userrechten

Beitragvon Koala » 19. Mär 2006, 11:10

Seit dem 16.3. wird für die Trennung der Userrechte in der DB-Tabelle rex_user als Trennzeichen das # verwendet. Wer ein CVS-Update der Datei redaxo/include/pages/user.inc.php vornimmt, muss danach per Hand das neue Trennzeichen in der DB ändern, weil sonst keine Rechte erkannt werden und damit kein Inhalt geladen wird. Die Adminseite bleibt quasi leer.
Tabelle rex_user, Spalte rights
Beispieleintrag:
Code: Alles auswählen
#admin[]#csw[0]#media[0]#addon[]#specials[]#

Das muss nur einmalig für den Admin geschehen.
Dann können die Änderungen für jeden weiteren Benutzer über die Benutzerverwaltung vorgenommen werden. Allerdings ist zu bedenken, dass die bestehenden Rechte nicht erkannt werden und deshalb neu vergeben werden müssen.
Oder man passt das für alle Benutzer ebenfalls direkt in der DB-Tabelle an, dann sparrt man sich die neue Rechtevergabe.
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon holger » 19. Mär 2006, 12:08

Hallo Sven,

ein etwas einfacherer Weg ist in der master.inc.php den Schalter $REX['SETUP'] auf true zu setzen. Dann einfach das setup wiederholen. Natürlich darauf achten, das man keine neue Datenbank installiert. am Ende des Setup einen neuen User kreieren. Mit dem kann man sich dann einloggen.

Ich versteh' nur gerade nicht, warum man sowas überhaupt ändern muss ?
Das wird ja bei einem Update von 3.1 auf 3.2 ziemlich viel Ärger machen.

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
Benutzeravatar
holger
 
Beiträge: 409
Registriert: 21. Jun 2005, 12:21
Wohnort: Sehnde / Hannover / lower saxony

Beitragvon Koala » 19. Mär 2006, 12:26

holger hat geschrieben:Das wird ja bei einem Update von 3.1 auf 3.2 ziemlich viel Ärger machen.
Für den Fall müsste wohl noch eine eigene Update-Funktion geschaffen werden, weil wie schon erwähnt, die alten Benutzerrechte nicht erkannt werden und wieder neu vergeben werden müssten.
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon Thomas.Blum » 20. Mär 2006, 08:11

Hej Holger,

holger hat geschrieben:Das wird ja bei einem Update von 3.1 auf 3.2 ziemlich viel Ärger machen.


bei einem Update solltest du folgendermaßen vorgehen.

Aus der "alten" Version ein Export sichern. Dann die neue Version installieren und dort das Export einspielen.

Die rex_user wird bei einem Export nicht in die sql-Datei gespeichert und sollte somit auch bei den Rechten kein Problem entstehen.

Ein einfaches Drüberkopieren der neuen Version über die alte Version würde ich nicht empfehlen. Immer das neue Release separat installieren.

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon Koala » 25. Mär 2006, 17:04

Um sich mühsames Updaten der User-Rechte z.B. mittels phpMyAdmin zu ersparen, kann man das auch mittels einer einfachen MySQL-Anweisung erledigen:
Code: Alles auswählen
UPDATE `rex_user` SET `rights` = CONCAT('#', replace(`rights`,']',']#')) WHERE `rights` NOT REGEXP '#'
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus


Zurück zu Git-Version

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast