You are not logged in.

1

Monday, June 25th 2012, 11:31pm

Groupoptions - Geringste Berechtigung ermitteln

Ich bin noch sehr neu in der Pluginentwicklung, finde mich vom Verständnis her nach wenigen Stunden Einlesen super zurecht - bin nun aber auf ein Problem gestoßen, das ihr wahrscheinlich schneller beantworten könnt, als wenn ich das halbe WCF durchstöbere und nichtmal weiß, wonach ich suchen soll.

Ich nutze eine Groupoption á la "Darf das Plugin benutzen". Die soll standardmäßig für alle registrierten Benutzer auf 1 gesetzt sein. Für den Fall, dass es aber mal Störenfriede geben soll, möchte ich eine Benutzergruppe anlegen, bei der einfach der Haken bei "Darf das Plugin benutzern" entfernt wird. Mit WCF::getUser->getPermission() bzw checkPermission() komme ich da nicht weit, da die Benutzer weiterhin der "Registrierte Benutzer"-Gruppe angehören, dort ist der Haken gesetzt, womit der User die Permission hat.

Eine Möglichkeit wäre, ich drehe den Spieß herum und mache aus einer Permission eine Prohibition ("Darf das Plugin nicht benutzen", standardmäßig auf 0). Das würde zwar alles viel leichter machen, allerdings gegen die Semantik von getPermission("not.allowed.to.do.sth") arbeiten.

Ich wollte daher in Erfahrung bringen, ob es Alternativen hierzu gibt, bzw. wie ich im Allgemeinen möglichst leicht die geringste Berechtigungsstufe herausfinden kann.



Vielen Dank!

2

Tuesday, June 26th 2012, 12:51am

Mach doch, statt eine Gruppe für Störenfriede zu erstellen, eine Gruppe für die, denen es erlaubt sein soll.
Kannst auch automatisch zuweisen.
Meine Woltlab-Plugins
- Tooltip
- LiveChat
- Ani-BBCode
- Facebook

3

Tuesday, June 26th 2012, 12:59am

Plugins die eigene Gruppen erstellen, sind so ne Sache. Ich würde diese nicht installieren ;)
Warum nicht eine verstecke userOption einbauen und diese einfach auf 0 stellen, falls die Berechtigung entzogen wurde?

4

Tuesday, June 26th 2012, 1:10am

Warum nicht eine verstecke userOption einbauen und diese einfach auf 0 stellen, falls die Berechtigung entzogen wurde?

Das klingt super! Ich erinnere mich dunkel, vorher etwas davon gelesen zu haben, dass userOptions theoretisch immer manipuliert werden könnten - allerdings werde ich das mal durchtesten. Die Post-Header zu faken traue ich unseren Nutzern grundsätzlich erstmal nicht zu. :D
Welche Zahl muss in <editable></editable> stehen, damit das Feld für den Nutzer nicht bearbeitbar ist?

@FirePanther:
Jap, diese Herangehensweise hatte ich auch schon im Kopf, allerdings möchte ich vermeiden, dass Leute bei der Registrierung noch in diverse weitere Nutzergruppen gestopft werden. Obig genannte Störenfriede werden wahrscheinlich weniger als 1% der Nutzer ausmachen, daher wäre hier der Benefit nicht sonderlich groß.

This post has been edited 1 times, last edit by "Koga" (Jun 26th 2012, 1:18am)


5

Tuesday, June 26th 2012, 1:22am

Deine useroptions könnte so aussehen:

XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/useroptions.xsd">
	<import>	 
		<options>
			<option name="canChooseHelpfulAnswer">
				<categoryname>settings.general</categoryname>
				<optiontype>boolean</optiontype>
				<defaultvalue>1</defaultvalue>
				<editable>3</editable>
				<visible>4</visible>
			</option>
		</options>
	</import>
</data>

6

Tuesday, June 26th 2012, 1:33am

Plugins die eigene Gruppen erstellen, sind so ne Sache. Ich würde diese nicht installieren ;)
ne so meinte ich es auch nicht :D
ich meinte, falls ein benutzer diese option benötigt, erstellt er eine benutzergruppe.
dass das plugin eine gruppe erstellt, das meinte ich damit nicht.
Meine Woltlab-Plugins
- Tooltip
- LiveChat
- Ani-BBCode
- Facebook

  • "frmwrk_123" is male

Posts: 1,121

Location: Hamburg

Occupation: Informatikstudent

  • Send private message

7

Tuesday, June 26th 2012, 10:23am

Wenn da Störenfriede auftauchen, dann setze sie doch einfach ein bisschen an die frische Luft und sperre sie für eine gewisse Zeit. Somit können sie nichts mehr effektiv machen und du brauchst keine zig Benutzergruppen/-optionen, um irgendwelche Plugins abzudecken.
Mit freundlichen Grüßen
frmwrk_123

Nützliche Plugins zum Selberbauen

  • "Stone_Cold" is male

Posts: 327

Location: Teltow

Occupation: IT-Leiter

  • Send private message

8

Tuesday, June 26th 2012, 12:20pm

Denkbar wäre auch, das Verwarnsystem zu benutzen, mit einer Sanktion als 'Krönung'.
Welche Sanktion das dann ist (Postverbot etc.) hängt dann natürlich von dem Plugin ab und wie es angebunden ist.

mfg
stone
SCTools Paketserver Gruppen im Profil (Alpha) für WCF 2.0
Es gibt eine feine Grenze zwischen Mut und Dummheit. Zu schade, dass es kein Zaun ist.

9

Tuesday, June 26th 2012, 7:31pm

Wenn da Störenfriede auftauchen, dann setze sie doch einfach ein bisschen an die frische Luft und sperre sie für eine gewisse Zeit. Somit können sie nichts mehr effektiv machen und du brauchst keine zig Benutzergruppen/-optionen, um irgendwelche Plugins abzudecken.

True story, allerdings will nicht jeder Forenbetreiber eine so harte Richtlinie fahren. Daher sollte es da schon eine Notbremse geben, ohne einem Nutzer sämtliche Rechte zu entziehen.

Denkbar wäre auch, das Verwarnsystem zu benutzen, mit einer Sanktion als 'Krönung'.
Welche Sanktion das dann ist (Postverbot etc.) hängt dann natürlich von dem Plugin ab und wie es angebunden ist.

Klingt grundsätzlich gut, allerdings müssten dann die Leute, die das Plugin installieren, auch das Verwarnsystem benutzen. Was nicht unbedingt in ihrem Interesse liegen muss (z.B. mögen sie es nicht oder haben schon ein eigenes) und man niemandem aufzwingen sollte. :)


Aber danke für den kreativen Input!
Am pragmatischsten ist hier wohl die Lösung von Chris Walz. :)

  • "frmwrk_123" is male

Posts: 1,121

Location: Hamburg

Occupation: Informatikstudent

  • Send private message

10

Wednesday, June 27th 2012, 11:07am

Das Verwarnsystem ist schon in WBB 3.1 als Standard mit dabei. Also braucht man da kein extra Plugin für, um das umzusetzen. Außerdem gibt es auch harmlosere Sanktionen als Sperrung. Aber ich finde das ein richtiger Störenfried an einer zweitägigen Sperre schon erkennen kann, dass da was falsch lief. Natürlich sollte der Nutzer auch erfahren, wofür er genau gesperrt wurde und Handlung und Bestrafung müssen zeitlich nah beieinander liegen.
Mit freundlichen Grüßen
frmwrk_123

Nützliche Plugins zum Selberbauen