Domanda

Come faccio a dare uno specifico diritti di modifica utente a un nodo specifico?

Ho un ruolo utente chiamato "Student". Più utenti hanno quel ruolo, solo pochi di loro può modificare un nodo. Come posso realizzare questo?

È stato utile?

Soluzione

Cercherò di coprire alcuni casi d'uso, di come io li risolvere:

  1. Se tutti i membri di una categoria di utenti possono modificare qualsiasi nodo di un certo tipo
    • Crea un nuovo ruolo per quel sottoinsieme di utenti ( 'Super Studenti', come suggerito Emyr) e concedere loro 'Modificare il contenuto di tipo' permessi attraverso il sistema di autorizzazione core Drupal (senza modulo di accesso nodo richiesto)
  2. Se tutti i membri di una categoria di utenti possono modificare i nodi specifici
    • Crea un nuovo ruolo per quel sottoinsieme di utenti e concedere loro autorizzazioni di modifica sui nodi specifici (è necessaria una moduli di accesso dei nodi, come ad esempio Nodo Access o Content Access ). Ciò richiederà anche che qualcuno disponga delle autorizzazioni (e tempo) per consentire l'accesso al ruolo ogni volta che viene creato un nuovo nodo.
  3. Alcuni utenti possono modificare alcuni nodi; non c'è un gruppo 'elite' di utenti che possono modificare tutti i nodi, e non tutti i membri possono modificare gli stessi nodi
    • Ciò richiederà un modulo di accesso nodo, come nodo di accesso o Accesso al contenuto con ACL. Ci sarà anche bisogno di essere utenti amministrativi che hanno il permesso di concedere ad altri utenti l'accesso a modificare i nodi.
  4. Consenti agli utenti di concedere ad altri l'accesso per modificare un nodo che hanno creato.
    • I implementato questo di recente con un campo CCK riferimento per l'utente e di riferimento nodo di accesso utente . È possibile concedere agli utenti l'autorizzazione a modificare i propri nodi attraverso il sistema delle autorizzazioni di base e possono quindi aggiungere altri utenti al campo riferimento per l'utente. Nel mio caso i creatori non sono dati che il permesso e io impostare il valore di default del campo ID utente del creatore, che consente a un utente di rimuovere se stessi da essere in grado di modificare il nodo.

Questi tutti presuppongono non c'è la categorizzazione per il contenuto. Si può essere in grado di utilizzare moduli di accesso dei nodi basati su tassonomia o organici Gruppi se il contenuto e gli utenti sono organizzati a sufficienza.

Altri suggerimenti

Per tipo di permessi anomali cose come questa, ho sempre trovato che un piccolo modulo personalizzato è la strada da percorrere. I moduli generali Accesso nodo devono essere abbastanza generale per essere utile per un sacco di casi diversi, il che rende in genere li sorta di disordinato e confuso.

Per questo specifico, è possibile creare un modulo che implementa hook_nodeapi e $ op == preparare, controllare l'ID dell'utente contro il vostro riferimento per l'utente e fare un drupal_goto della pagina di accesso negato se non corrispondono.

Si può fare questo con Flexi accesso . Dare un utente specifico il privilegio "aggiornamento" su un nodo gli permetterà di modificare il nodo.

Per ulteriori opzioni, vedere la pagina:. Panoramica dei moduli nodo di accesso @ Drupal.org

Se solo un sottoinsieme dovrebbe essere in grado di modificare i nodi, è necessario un ulteriore ruolo "super studente".

Il nodo di accesso modulo può aiutare a impostare autorizzazioni appropriate sui nodi. Ecco un estratto dalla sua pagina del progetto:

  

... fornisce i ruoli e le autorizzazioni di protezione specifici degli utenti per i menu, voci di menu, i nodi, e l'integrazione di sicurezza nei sistemi di gestione e di aiuto. Vorremmo fornire questa suite di moduli alla comunità per condividere l'utilità della suite e coinvolgere la comunità per fornire ulteriore supporto, test, e la moderazione.   Particolare cura è stata presa per garantire la fruibilità della gestione dei permessi è stato coerente in tutte le sezioni del sistema (nodi, menu, voci di menu). Inoltre, ogni modulo di sicurezza utilizza un regime di sicurezza a cascata per consentire la sicurezza globale e la possibilità di annullare o definire eccezioni al modello di protezione per i singoli elementi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top