[Drupal] Modyfikacja modułu Node Access

Data dodania wpisu: 02-09-2010

Moduł Node Access umożliwia łatwe przypisywanie praw dostępu odczytu / aktualizacji / usuwania wpisów (node'ów) do każdego typu zawartości na poziomie całych ról użytkowników oraz dla specyficznych użytkowników. Wiecej na temat tego modułu na stronie projektu drupal.org - moduł Node Access.

 

Z okazji wdrożenia pewnego projektu, rozszerzyłem funkcjonalność tego modułu o blokowanie dostępu dla specyficznych użytkowników na poziomie konkretnego node'a. Owszem, istnieje moduł, który umożliwia restrykcje dostępu dla użytkowników do treści (Restricted Content), ale jest to raz - wersja developerska, dwa - dodatkowy moduł, trzy - nie działa w pełni tak, jak w zamiarze powinien:P

Jak to działa?

Całe zarządzanie prawami dostępu mamy na poziomie jednego formularza konfiguracyjnego w obrębie node'a.

Wizualnie i funkcjonalnie od strony użytkownika, jest to niemal kopia ustawień uprawnień dostępu dostępna w tymże module;) Funkcjonalnie od strony zarządzania dostępem na poziomie Drupala natomiast... :

  • jeżeli do tego samego node'a wybrany użytkownik ma prawa zarówno dostępu jak i blokadę - priorytet pierwszeństwa ma blokada dostępu, zatem taki user otrzyma komunikat Access Denied,
  • uprawnienia nie są w żaden sposób nadpisywane i zależne od siebie,
  • prawo blokowania dostępu ma priorytet w stosunku zarówno do pojedynczego uprawnienia dostępu jak i uprawnienia dla całej grupy użytkowników;

Modyfikacja modułu Node Access, panel konfiguracji uprawnień

Czyli w skrócie - od teraz nawet jeśli użytkownik należy do grupy która ma dostęp do wszystkich wpisów w wybranym typie zawartości, można mu zablokować dostęp do konkretnego node'a należącego do tego typu zawartości :)

 

Paczka do pobrania tutaj:

 Node Access

 

Wystarczy rozpakować do folderu sites/all/modules/ lub nadpisać pliki poprzedniej wersji modułu, a następnie uruchomić aktualizację modułów poprzez skrypt update.php.

Komentarze

Ten wpis nie posiada jeszcze komentarzy

Comments closed...