Puncte:1

Ignorați accesul implicit la fișiere private

drapel in

În site-ul pe care îl dezvolt, directorul de fișiere private se află în afara rădăcinii documentului.
Am un tip de conținut (Capitol) cu un câmp de fișiere care stochează fișierele sale în directorul de fișiere private. Când un Capitol nodul este publicat, fișierul său este accesibil utilizatorilor, dar când nodul este nepublicat, fișierul său nu este accesibil utilizatorilor. Ei primesc o pagină cu acces refuzat.

Cum pot controla accesul la fișierul atașat și să permit utilizatorilor să acceseze fișierul atașat atunci când nodul este nepublicat, într-un modul personalizat?

Puncte:2
drapel de

Cu Drupal, accesul la fișierele private este determinat de accesul la entitatea la care sunt atașate. Aș crea un nou tip de entitate media, setând stocarea fișierelor să fie privată. Apoi puteți configura reguli de acces personalizate pentru tipul de entitate, folosind metodologia Drupal standard. Utilizatorilor cu acces la acea entitate li se va permite să acceseze fișierul privat, iar utilizatorilor fără acces la acea entitate li se va refuza accesul la fișier. Apoi puteți atașa elementul media la orice nod sau altă entitate de care aveți nevoie.

drapel in
Mulțumesc pentru această sugestie @Jaypan. Fiecare nod de capitol are o casetă de validare `public` care controlează dacă `pdf` pentru acesta poate fi accesat de alți utilizatori decât administratori. În plus, nodul `carte` care este părintele nodului `capitol` are o casetă de selectare `public` care înlocuiește caseta de selectare `public` pentru capitolele sale. Așa că trebuie să verific ambele valori ale câmpului pentru a determina dacă `pdf` pentru un `capitol` ar trebui să fie vizibil public. Abordarea sugerată va permite acest lucru?
Jaypan avatar
drapel de
Ei bine, v-am explicat cum gestionați permisiunile pentru fișierele private. Deci, dacă vă configurați permisiunile pentru tipul Media pentru a vă urma descrierile, atunci da, abordarea mea va permite acest lucru. În ceea ce privește modul în care veți configura de fapt acele permisiuni pentru tipul media, acesta este într-adevăr un subiect diferit, așa că ar trebui să deschideți o nouă întrebare dacă doriți mai multe informații despre asta. Drupal Answers este un site în format 1 întrebare - 1 răspuns.
drapel in
Mulțumesc @Jaypan.Am o experiență limitată în multe domenii ale dezvoltării Drupal, inclusiv în acest domeniu. O sa incerc si ma intorc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.