GELÖST User, Userrollen, node mit Passwort schützen? - Tipps gesucht
am 03.08.2008 - 17:29 Uhr in
Hallo zusammen!
Helfe gerade einem Kollegen eine Seite zu erstellen. Dabei stehe ich vor einem Problem für das ich eine Möglichst elegante Lösung finden möchte.
Realisiert werden soll folgendes:
Für einen Kunden werden Arbeitsergebnisse und Zwischenschritte im Form einer node mit Dateianhang veröffentlicht.
Nur dieser Kunde soll zugriff darauf haben. Der Kunde soll die Ergebnisse kommentieren können.
Anderen soll das alles natürlich nicht zugänglich sein.
Als Lösung ist mir nur eingefallen:
Je einen Content Typ pro Kunde anlegen und dann pro Kunde eine Rolle.
Aber das wäre zu viel Aufwand.
Die simpelsten Lösungen wären für mich:
-Die entsprechende node wird mit einem Passwort geschützt, unabhängig vom Userpasswort
-Der User darf nur nodes lesen und kommentieren, die seinen Benutzernamen im Titel tragen
Kennt ihr Module, die sowas können, oder habt ihr ne andere Idee?
Vielen Dank und liebe Grüße
Hendrik
- Anmelden oder Registrieren um Kommentare zu schreiben
Da gibts Module!
am 03.08.2008 - 17:39 Uhr
Welche Drupal-Version nutzt Du denn?
Einfach mal anschauen:
http://drupal.org/project/content_access
http://drupal.org/project/node_privacy_byrole
Rechtesystem von Drupal noch nicht ganz verstanden ?
am 03.08.2008 - 18:10 Uhr
Die simpelsten Lösungen wären für mich:
-Die entsprechende node wird mit einem Passwort geschützt, unabhängig vom Userpasswort
-Der User darf nur nodes lesen und kommentieren, die seinen Benutzernamen im Titel tragen
Ich vermute Du hast das Rechtesystem von Drupal noch nicht ganz verstanden.
Es werden keine einzelnen Nodes mit einem Passwort geschuetzt. (Sollte aber moeglich sein - als krumme Loesung und wohl nicht Drupal like.)
Die Rechte auf einzelne Nodes werden durch ein Rollen-System geregelt. Eine einzelne Rolle hat bestimmte Rechte - welche Nodes oder Nodetypes oder welche Inhalts-Kategorien angesehen oder bearbeitet oder geloescht werden duerfen. Ein einzelner User kann zu einer oder mehreren Rollen gehoeren.
Weiterhin wie bereits voran genannt gibt es die Moeglichkeit mittels zusaetzlicher Module, das der Ersteller einer Node beim Erstellen oder Bearbeiten einer Node festlegt wer was mit dieser Node tun darf.
Unabhaengig von dieser Moeglichkeit wird aber der/ein Administrator allgemein systemweit festlegen welche Rolle welche Rechte hat.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Danke für eure Hilfe! Ich
am 03.08.2008 - 18:41 Uhr
Danke für eure Hilfe!
Ich habe Drupal 6.3 installiert.
Das Rechtesystem habe ich einigermaßen verstanden. Ich will aber etwas anderes erreichen:
Es gibt die userrole "Kunden".
Dieser userrole kann ich nun zuordnen welche nodetypes sie lesen, kommentiere, etc. darf.
Jetzt habe ich aber einen nodetype den nicht jeder, sondern immer nur 1 Kunde lesen und kommentieren darf.
Das Bedeutet das nicht nur für jeden Kunden ein Konto erstellet werden muss, sondern zusätzlich auch eine userrole und ein nodetype.
Das Rechtesystem ermöglicht zwar was ich machen will, ist aber sehr umständlich.
Eine gute Lösung sähe für mich so aus:
-Die entsprechende node wird mit einem Passwort geschützt, unabhängig vom Userpasswort
Also ein Modul mit dem ich direkt bei erstellen der node in Passwort festlege. Dieses könnte ich dem Kunden zusammen mit seinen
Logindaten zukommen lassen. Auf ein eigenes Benutzerkonto könnte ich eventuell dann sogar ganz verzichten
Die andere Möglichkeit:
-Der User darf nur nodes lesen und kommentieren, die seinen Benutzernamen im Titel tragen
Diese Lösung fände ich sehr elegant. Ich bräuchte nämlich hier wirklich nur die userrole "Kunden". Es gibt ein Modul, das in die Richtung geht, aber kein freetagging ermöglicht und damit ausscheidet. (http://drupal.org/project/tac_lite)
Ich hoffe es ist jetzt etwas klarer worauf ich hinaus will :)
Liebe Grüße
Hendrik
Denkbar waere folgender Loesungsansatz.
am 03.08.2008 - 19:01 Uhr
Ok, nun bin ich besser im Bilde.
Weiss aber erst mal keinen direkten Rat.
-Der User darf nur nodes lesen und kommentieren, die seinen Benutzernamen im Titel tragen
Diese Lösung fände ich sehr elegant.
Denkbar waere folgender Loesungsansatz.
Im Nodetype-Template wird der Titel auf die Existenz eines Namens geprueft bzw. ein existierender Name im Titel separiert. Der separierte Name wird mit dem aktuellen Username verglichen.
Wobei in diesem Deinem Szenario ID's geeigneter sind wegen eventueller Namensgleichheiten.
Stimmen separierter Name aus dem Titel und Name des aktuellen User ueberein wird der Inhalt normal angezeigt. Gibt es keine Uebereinstimmung wird etwas anderes angezeigt oder eine Weiterleitung auf eine andere Seite erfolgt.
Damit hast Du die gewuenschte Eleganz.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Steigerung der Eleganz
am 03.08.2008 - 19:17 Uhr
In Erweitereung meines voran genannten Vorschlages.
Fuehre den Namen des User nicht im Titel sondern als Feld in der Node. Dieses Feld wird normal mit der Node nicht angezeigt. Es ist eine Select Liste die beim Erstellen/Bearbeiten einer Node verwendet werden kann. Mittels Field Permissions kann man steuern wer dieses Feld zu sehen bekommt.
Mit diesem Feld kann ausgewaehlt werden wer die Node sehen darf. Dieses Feld waere relativ einfach mit CCK zu umzusetzen. Innerhalb von CCK wird wird das Select Feld mittels PHP generiert.
Im Nodetype Template wird nun statt eines separierten Namens aus dem Titel der Inhalt des Feldes mit dem aktuellen User gegengeprueft.
Dadurch bleiben die Titel der Nodes "sauber".
Durch PHP hat man weitgehnde Moeglichkeiten auf die Gestaltung des Select Feldes - nicht nur hinsichtlich der waehlbaren User. Durch die PHP Generierung ist auch ein Automatismus moegliche welcher die aktuell existierenden User einer Rolle in das Feld aufnimmt. Damit ist dieses Feld sozusagen wartungsfrei.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Danke für Hilfe! Das klingt
am 03.08.2008 - 21:55 Uhr
Danke für Hilfe!
Das klingt sehr spannend! Da ich von PHP kaum Ahnung habe wird es schwer sein für mich das umzusetzen. Wie viel Programmieraufwand wäre dies in PHP? Gibt es gute Tutorials wo ich mir das aneignen könnte?
Was mich wundert, gibt es wirklich kein Modul, welches jede node einzeln mit einem Passwort versehen könnte. Gibts dafür keinen Bedarf, oder ist das schwieriger umzusetzen, als ich mir das Vorstelle?
Lösung gefunden
am 04.08.2008 - 09:20 Uhr
Habe jetzt eine Lösung gefunden. Und zwar den Passwortschutz. Das Modul ist Protected Node und ermöglicht die Festlegung eines Passworts beim erstellen der node. Ist nicht ganz so schön wie die andere Lösung, aber fast genauso einfach.
Vielen Dank für eure Hilfe!
Fein
am 04.08.2008 - 09:31 Uhr
Protected Node und ermöglicht die Festlegung eines Passworts beim erstellen der node
Genau das hatte ich bereits gepostet.
gibt es die Moeglichkeit mittels zusaetzlicher Module, das der Ersteller einer Node beim Erstellen oder Bearbeiten einer Node festlegt wer was mit dieser Node tun darf
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.