Berechtigung erstellen (Rollen)

am 02.03.2011 - 18:37 Uhr in
Hallo liebe Community!
Kann man selbst Berechtigungen erstellen?
z.B. "Rolle kann (nicht) User über das personalisierte Kontaktformular kontaktieren."
Wäre nett, wenn ihr mir hierbei behilflich sein könnt.
Danke,
lG
mitterer10
- Anmelden oder Registrieren um Kommentare zu schreiben
Berechtigungen werden immer
am 02.03.2011 - 19:08 Uhr
Berechtigungen werden immer über Module eingetragen. Da kannst du eine Berechtigung einbinden und die dann in eigenen Funktionen abfragen.
Danke, wie setze ich das nun
am 02.03.2011 - 19:48 Uhr
Danke,
wie setze ich das nun bei genanntem Fall durch?
Der User-Contact-Bereich ist ja keine Modul.
Gibt es hier noch andere Möglichkeiten?
lG
mitterer10
Zitat: Der
am 02.03.2011 - 20:04 Uhr
Der User-Contact-Bereich ist ja keine Modul
Also meiner Meinung nach ist das Modul "contact" durchaus ein Modul, ein Core-Modul, um genau zu sein.
Gibt es hier noch andere Möglichkeiten?
Nö, wenn du Berechtigungen einfügen willst, musst du das über ein eigenes Modul machen. Modul schreiben, Berechtigungen einfügen und einen Weg finden, den Zugriff auf das Kontakt-Formular zu blocken.
Wäre es möglich zum
am 02.03.2011 - 20:11 Uhr
Wäre es möglich zum bestehenden Modul "contact" Berechtigungen hinzuzufügen?
Aktuell finde ich nämlich nur Berechtigungen für das Seitenweite Kontaktformular.
Zitat: Wäre es möglich zum
am 02.03.2011 - 20:33 Uhr
Wäre es möglich zum bestehenden Modul "contact" Berechtigungen hinzuzufügen?
Ja, die sind dann beim nächsten Core-Update weg.
Wo liegt denn das Problem, Berechtigungen mit einem eigenen Modul einzufügen? Ob du die Berechtigungen in der Modul-Datei von Contact oder von einem eigenen Modul einfügst bleibt sich doch gleich. Außerdem habe ich das Gefühl, dass du das Berechtigungs-System etwas falsch verstehst. Du kannst da nicht einfach die Berechtigung "User darf Contact-Formular nicht verwenden" einfügen und dann weiß Drupal schon, was es damit anfangen soll. Die Berechtigungen sind nicht mehr als ein paar Strings, die in verschiedenen Funktionen ausgewertet werden. Du musst also die Berechtigung einfügen UND diese Berechtigung auswerten und darauf aufbauend den Zugriff auf das Formular blockieren.
Ok, gut das überfordert mich
am 02.03.2011 - 20:36 Uhr
Ok, gut das überfordert mich "programmier-technisch" dann doch etwas.
Werde hierfür einen Programmierer benötigen.
Danke,
lG
mitterer10
Hi, versteh ich dich richtig?
am 03.03.2011 - 21:06 Uhr
Hi,
versteh ich dich richtig? Du willst Kontakt zu versch. Nutzern unterbinden? Also das
users/user-name/contact
soll der jenige nicht aufrufen dürfen? Genrell würde ich ich sagen, ist sowas mit Rules mögich. User X will URL aufrufen, die User Y Name enthält (s.o.).
WENN das so ist, DANN leite an node/12345 weiter, wo steht: Darfst Du nicht kontaktieren....
Habe es selber gerade nicht getestet. Aber denke das wäre evtl. eine Maßnahme. Kannst auch kombinieren:
WENN User besitzt Rollen + Will URL aufrufen DANN ...
So erschlägst du alle User die eine Rolle haben. User können auch mehrere Rollen haben. Ggf. kannst du im "Finetuning" noch extra Rolle mit exakt gleichen Rechten aufstellen, die aber über Rules reglementiert wird.
mfg Crusher
qwer
am 04.03.2011 - 04:23 Uhr
-removed-
Hallo Crusher! Ja damit hast
am 04.03.2011 - 08:40 Uhr
Hallo Crusher!
Ja damit hast du Recht.
Ich verweise hier mal auf meinen anderen Post, welchen ich bereits gestern erstellt habe:
http://www.drupalcenter.de/node/34001
Wie du dort lesen kannst, habe ich bereits folgende triggered rule erstellt:
on event "Benutzer will eine Seite anzeigen"
if Pfad hat Alias
(user/uid/contact)
if Benutzer besitzt nicht Rolle
(Rollen-Name)
do Inhalt laden nach ID
(Node durch node-ID verlinkt)
Was muss ich hier anstatt "uid" schreiben?
Danke,
lG
mitterer10
Hi, gute Frage. Habs gestern
am 04.03.2011 - 10:50 Uhr
Hi,
gute Frage. Habs gestern mal angetestet. Allerdings erst "Alias existiert" ausgewählt. Im Ergebnis hat ich dann eine Schleife gebaut^^ Da ja der Pfad Existenz war, bekam ich zig mal die Meldung angezeigt, die ich unter "DO" eingestellt hatte.
Also sehr unrund das Ganze. Hab leider also noch keine konkrete Idee. Irgendwas fehtl da noch.
mfg Crusher
PS: http://drupal.org/project/pathrules
Noch nicht angeschaut. Aber da hat man ggf. mehr Möglichkeiten was den Pfad angeht. Würds nur lieber mit Rules allein realisieren wollen. Das Modul könnte aber schon ausreichen.
Hallo! Habe das ganze nun
am 04.03.2011 - 15:37 Uhr
Hallo!
Habe das ganze nun probiert, jedoch leider ohne Erfolg.
die rule habe ich wie folgt geändert:
if
check path
(Pfad: contact; Operator: contains)
if
user hat nicht rolle ...
do
seiten-weiterleitung
(An: node/9 ? #
(Was muss hier bei dem Feld ? und # eingegeben werden?; bzw. wie kann ich hier generell die URL, auf welche weitergeleitet werden soll eingeben?))
Danke,
lG
mitterer10
Hallo! Dank Exterior
am 05.03.2011 - 01:35 Uhr
Hallo!
Dank Exterior funktioniert das ganze nun über ein von ihm geschriebenes Modul.
Danke,
lG
mitterer10