plugin permissions

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

plugin permissions

Post by Timbalu »

Ich habe gerade im Dashboard die fehlenden permission checks eingebaut und dabei festgestellt, dass die Media Library, freetags und auch spamblock bayes und vielleicht auch noch einige andere Plugins einen solchen check

Code: Select all

        if (!serendipity_checkPermission('xxx')) {
            return;
        }
eventuell vermissen lassen, wenn das nicht vielleicht auch Absicht ist. Dann soll dies nur dazu beitragen nochmal oder für künftige Plugins darüber nach zu denken.

xxx=serendipity_getPermissionNames()
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: plugin permissions

Post by garvinhicking »

Hi!

Welche permission checks meinst Du denn konkret?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: plugin permissions

Post by Timbalu »

Hi Garvin

Welcome back. Hoffentlich ausgeruht und frisch!

Ich war mal als einfacher Redakteur unterwegs, um zu prüfen, wie in der index.tpl (sidebar) des backends zB

Code: Select all

{if 'adminEntries'|checkPermission OR 'adminEntriesPlugins'|checkPermission}
gechecked werden, da dort gar keine Variablen a la $entries.['...] oder so auftauchen. Es funktioniert ja scheinbar, ich weiß nur nicht wie.... Ich wüßte auch unabhängig vom Folgenden gerne, wie das in/mit Smarty funktioniert.

Dabei entdeckte ich mehr so nebenbei, dass ich als normaler Redakeur Zugriff auf die Bilder des Admins in der Media Library, ebenso auf alle tags in freetags hatte und auch im bayes Plugin das 'vollständige' Backend sah....

Ich habe das bisher alles nicht näher geprüft, also auch nicht ob der weitere Zugriff Beschränkungen hatte, weil ich mit etwas anderem beschäftigt war... deshalb wollte ich schnell mal nachfragen wie es darum steht.

Es geht dabei eigentlich nicht um die Frage welchen check konkret, sondern ob der Zugriff für Redakteure in diesen Plugins darin generell geregelt ist und warum für diesen alle Bilder, alle Tags (und bei Bayes kann ich es mangels Masse nicht sagen) angezeigt werden (und möglichweise bearbeitet werden können).

Bei der ML denke ich, dass die genaue Permission sehr wahrscheinlich weiter im Detail geregelt ist... aber ist das bei den anderen Plugins auch so?
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: plugin permissions

Post by garvinhicking »

Hi!

Als Redakteur hat man ja normalerweise die Rechte auf die Mediendatenbank, egal wer das hochlädt.

Das mit:
da dort gar keine Variablen a la $entries.['...] oder so auftauchen.
verstehe ich nciht. Kannst du das präziser beschreiben?

checkPermission braucht man überall dort, wo gewisse Sachen nur gezeigt werden sollen, wenn man gewisse Gruppenrechte besitzt. Die Gruppenrechte werden auf Autorengruppenebene vergeben, wenn Du da im s9y backend schaust siehst Du genau die Namen der Rechte die es gibt, die man auch im Backend sieht.

Bei vielen Plugins gibt es keine gezielten Rechtechecks; da könnte man natürlich welche nachreichen wenn es sinn macht. Bei den Tags macht es z.b. keinen Sinn diese abhängig von gewissen Gruppen zu vergeben.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: plugin permissions

Post by Timbalu »

Naja, wie gesagt habe ich dann dort nicht weiter nachgeforscht - ich sah nur die Bilder und die tags (von allen Usern) und dass ich diese dort anscheinend löschen und bearbeiten kann. Ausprobiert habe ich es nicht.
Daher wollte ich wissen, ob das auf der Bearbeitungsebene in diesen Plugins bzw ML geregelt ist.
Wenn das so ist, dann sollte dieser Thread sowieso nur (für mich) als Erinnerung zum Feintunen von Permissions gelten.

Zu meinem Verständnisproblem: OT - da mit obigen mehr oder minder nur den Namen gemein .. ;-)

In der index.tpl des Backends sieht ein permission check auf smarty folgendermaßen aus:

Code: Select all

{if 'adminEntries'|checkPermission OR 'adminEntriesPlugins'|checkPermission}
Woher kommt zB 'adminEntries'? Wo ist das array? Wäre es soetwas wie ein übergebener String als Variable $adminEntries oder Teil eines Array-loops der per Modifier-Funktion (|checkPermission) auf perms gechecked wird, wäre ich nicht stutzig geworden. Ich ahne, dass das das die definierten Namen aus serendipity_getPermissionNames() sind, doch wie gelangen sie so in das Smarty-tpl?

Ich hätte nur gerne verstanden warum Smarty das so lesen kann und wie es produziert wird.
Es gibt ja in der index.tpl zB $admin_vars.no_sidebar, was der "normalen" Smarty-Lesart entspricht. In $admin_vars ist obiges aber nicht enthalten und auch kein loop oder soetwas dafür zu finden.

Im Grunde also die Frage, warum Smarty WIE und SO auf PHP array 'values' checken kann, ohne das das offensichtlich irgendwo assigned wird.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: plugin permissions

Post by garvinhicking »

Hi!

Es gibt halt ein "adminImages" und "adminImagesMaintainOthers" Recht. Wenn Du das in deiner Gruppe besitzt (was ein Redakteur tut, glaub ich), dann kannst Du Bilder anderer auch sehen und bearbeiten.

"adminEntries" ist ein String, der dem Namen des Rechts entspricht auf das geprüft wird. Und die gelangen in das .tpl weil das da ein Programmierer vorgesehen und eingetragen hat. *g*

Du kannst in Smarty ja immer schon auch Strings statt Variablen neben einem Modifier nutzen: {"Hallo"|substring:0:2} geht ja auch, muss ja nicht zwangsläufig über {$LANG.HALLO|substring:0:2} gehen.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: plugin permissions

Post by Timbalu »

Oh (ich) schlag mich vor den Kopf!
Jetzt fallen mir die Schuppen von den müden Augen ... strings sind nicht zwangsläufig zu assignen.
Ich brauche Urlaub! :wink:
Danke!
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Post Reply