Wyróżnione 

ACL w Joomla 3.x

ACL w Joomla 3.x

Mechanizm ACL (Access Control Level lub Access Control List) w Joomla! 3.x pozwala niemal na pełną kontrolę nad dostępem do treści i usług oferowanych przez serwis WWW.

Za jego pomocą możesz określić:

  • którzy użytkownicy powinni mieć dostęp do określonych części witryny lub zaplecza (np. artykułów, pozycji menu, czy modułów);
  • jakie operacje użytkownicy mogą wykonywać na danym obiekcie (np. wysłać artykuł, edytować swój lub artykuł stworzony przez innego użytkownika, zmieniać stan publikacji artykułu itp.);

Każdy obiekt (np. artykuły, moduły, pozycje menu) w Twoim serwisie opartym na Joomla 3.x ma przypisany jakiś poziom dostępu. W Joomla! 3.x, masz do dyspozycji 4 domyślne poziomy dostępu: Guest, Public, Registered i Special. Jak korzystać z tych poziomów, oraz tworzyć własne, przeczytasz w artykule: Poziomy dostępu w Joomla! 3.x.

Każdy użytkownik zarejestrowany w Twoim serwisie musi należeć przy najmniej do jednej z domyślnych grup (Public, Guest, Manager, Administrator, Registered, Author, Editor, Publisher i Super Users) lub grup stworzonych przez Ciebie. Dzięki możliwości przypisywania tzw. uprawnień dla poszczególnych grup możesz kontrolować, jakie treści mogą zobaczyć oraz jakie działania mogą wykonywać użytkownicy przypisani do danej grupy. W jaki sposób zarządzać grupami użytkowników oraz jak utworzyć nową grupę użytkowników i w jaki sposób przypisać użytkownika do danej grupy, przeczytasz w artykule: Grupy użytkowników w Joomla! 3.x.

Mechanizm przypisywania uprawnień dla grup użytkowników w Joomla! służy do ustawiania określonego dostępu do treści lub operacji, jakie użytkownicy mogą wykonywać w Twoim serwisie. Jak korzystać z mechanizmu przypisywania uprawnień dla poszczególnych grup użytkowników - różne poziomy uprawnień oraz w jaki sposób zezwolić lub zabronić określonych działań w Twoim serwisie, dowiesz się z artykułu: Uprawnienia w Joomla 3.x.

Teraz, kiedy już znasz mechanizm ACL w Joomla! 3.x, możesz wdrożyć mechanizm, za pomocą którego różni użytkownicy będą mogli widzieć różne treści i wykonywać różne czynności w Twoim serwisie! Jednak zanim wdrożysz ten mechanizm, najpierw spokojnie zastanów się i opisz dokładnie, czego oczekujesz.

Pokażę Ci działanie mechanizmu ACL w Joomla! 3.x na przykładzie witryny, z branży, która jest mi najbardziej bliska: edukacja :-)

Opis problemu:

  • większość treści prezentowanych na szkolnej witrynie, powinna być widoczna dla wszystkich internautów;
  • wybrane treści powinny być widoczne tylko dla uczniów, ich rodziców i nauczycieli;
  • nauczyciele powinni zobaczyć treści publiczne, przeznaczone dla nauczycieli oraz zarówno dla uczniów jak i rodziców;
  • rodzice powinni zobaczyć treści publiczne oraz przeznaczone dla uczniów i rodziców - nie powinni zobaczyć treści przeznaczonych dla nauczycieli;
  • uczniowie powinni zobaczyć treści publiczne oraz przeznaczone dla uczniów - nie powinni zobaczyć treści przeznaczonych dla rodziców i nauczycieli;
  • wybrana grupa uczniów może tworzyć artykuły w określonych kategoriach oraz dodawać zakładki;
  • nauczyciele określonych przedmiotów mogą tworzyć artykuły w określonych kategoriach oraz edytować swoje artykuły i decydować o stanie ich publikacji;
  • wybrana grupa nauczycieli powinna mieć dostęp do wybranych komponentów serwisu;

Przygotowałem przykładowy serwis testowy, który wykorzystam do pokazania Tobie poszczególnych kroków, jakie należy wykonać, aby rozwiązać powyższe problemy. W serwisie testowym zostały utworzone różne treści, które obecnie mają status Public, tzn. widoczne są dla wszystkich odwiedzających internautów.

Wygląd serwisu testowego

Krok 1 - Tworzenie nowych grup użytkowników

Najpierw utwórz odpowiednie grupy użytkowników, na przykład:

  • Nauczyciele ;
    • Nauczyciele informatyki;
    • Nauczyciele matematyki;
    • Nauczyciele WF;
    • Nauczyciele - komponenty;
  • Uczniowie;
    • Redaktorzy;
  • Rodzice;

Kliknij w w oknie Użytkownicy: Przegląd grup, przycisk Utwórz.  W polu Nazwa grupy wpisz nazwę, np. Nauczyciele, natomiast w polu Grupa nadrzędna pozostaw Public, jako grupę nadrzędną, z której nowotworzona grupa będzie dziedziczyć uprawnienia.

Tworzenie nowej grupy użytkowników w Joomla! 3.1.5

Kliknij przycisk Zapisz i nowy, aby utworzyć kolejną grupę, np.: Nauczyciele informatyki :-) W polu Nazwa grupy wpisz nazwę: Nauczyciele informatyki, natomiast w polu Grupa nadrzędna wybierz z listy: Nauczyciele, jako grupę nadrzędną, z której nowotworzona grupa będzie dziedziczyć uprawnienia.

Tworzenie nowej grupy użytkowników z nadrzędną grupą Nauczyciele

Kliknij przycisk Zapisz i nowy, i utwórz w podobny sposób trzy kolejne grupy: Nauczyciele matematyki, Nauczyciele WF i Nauczyciele - komponenty.

Utwórz kolejne grupy:

  • Uczniowie - grupa nadrzędna: Public;
  • Redaktorzy - grupa nadrzędna: Uczniowie;
  • Rodzice - grupa nadrzędna: Public;

Jeżeli zrobiłeś dokładnie tak jak sugeruję, to lista grup powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista grup użytkowników wraz z grupami nowoutworzonymi

Dlaczego te trzy główne grupy: Nauczyciel, Uczniowie i Rodzice mają ustawioną grupę nadrzędną Public? Ponieważ dzięki temu będziesz mieć możliwość bezpośredniego i łatwiejszego kontrolowania uprawnień dla tych grup, beż dziedziczenia uprawnień z innych grup. Poza tym sądzę, że w ten sposób łatwiej zrozumiesz to zagadnienie i że nie zamieszam zbyt wiele ;-)

Krok 2. Tworzenie nowych poziomów dostępu

Kliknij w oknie Użytkownicy: Przegląd poziomów dostępu przycisk Utwórz. W polu Nazwa poziomu wpisz nazwę, np. Nauczyciele, natomiast w sekcji Przypisane grupy użytkowników, zaznacz: Nauczyciele - grupa użytkowników, która będzie mieć dostęp do nowego poziomu dostępu.

Tworzenie nowego poziomu dostępu w Joomla! 3.x

Kliknij przycisk Zapisz i nowy, i utwórz w podobny sposób kolejne poziomy dostępu:

  • Nauczyciele - komponenty - grupa użytkowników: Nauczyciele - komponenty;
  • Nauczyciele informatyki - grupa użytkowników: Nauczyciele informatyki;
  • Nauczyciele matematyki - grupa użytkowników: Nauczyciele matematyki;
  • Nauczyciele WF - grupa użytkowników: Nauczyciele WF;
  • Uczniowie - grupa użytkowników: Nauczyciele, Rodzice, Uczniowie;
  • Redaktorzy - grupa użytkowników: Redaktorzy, Nauczyciele - komponenty, Nauczyciele informatyki, Nauczyciele matematyki, Nauczyciele WF ;
  • Rodzice - grupa użytkowników: Nauczyciele, Rodzice;

Jeżeli zrobiłeś dokładnie tak jak sugeruję, to lista poziomów dostępu, powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista poziomów dostępu wraz z poziomami nowoutworzonymi

Krok 3. Edycja poziomu dostępu: Specjal

Poziom dostępu o nazwie Special jest bardzo ważny, jeżeli planujesz umożliwić wybranym użytkownikom dostęp do zaplecza serwisu. Wszystkie pozycje menu oraz moduły, mają przypisany ten poziom dostępu! Musisz więc przypisać poziom Special wybranym grupom - w przeciwnym wypadku użytkownicy, którym zezwolisz na logowanie do panelu administracyjnego, będą się do niego mogli zalogować, jednak, nie będą mieli dostępu do żadnych funkcji:

Panel administracyjny po zalogowaniu użytkownika, który nie jest przypisany do poziomu dostępu o nazwie: Special

OK, w oknie Użytkownicy: Przegląd poziomów dostępu, kliknj nazwę: Special, a następnie zaznacz grupy użytkowników, które będą miały dostęp do zaplecza: Nauczyciele - komponenty, Nauczyciele informatyki, Nauczyciele matematyki, Nauczyciele WF. Kliknij przycisk Zapisz i zamknij, aby zapisać wprowadzone zmiany.

Krok 4. Przypisywanie grupom uprawnień

Konfiguracja globalna uprawnień

Aby wyświetlić lub dokonać zmian uprawnień odnoszących się do całej witryny, zarówno od strony frontowej, jak i od strony zaplecza (panelu administracyjnego), kliknij w menu System, pozycję Konfiguracja globalna. Możesz także skorzystać z menu lokalnego znajdującego się po lewej stronie, klikając link: Konfiguracja globalna, lub z linka Konfiguracja, znajdującego się w sekcji QUICK ICONS

Wyświetlenie okna Konfiguracja globalne w Joomla! 3.1.x

Kliknij kartę Uprawnienia, aby zobaczyć listę wszystkich grup użytkowników oraz przypisane im uprawnienia. Kliknij nazwę grupy: Nauczyciele, aby wyświetlić i zmienić uprawnienia tej grupy. W polu: Logowanie do witryny wybierz z listy pozycję Dozwolone, a następnie kliknij przycisk Zapisz. Zwróć uwagę na kolumnę Wyliczone ustawienia.

Zmiana uprawnień dla grupy Nauczyciele w konfiguracji globalnej

Kliknij nazwę grupy podrzędnej: Nauczyciele - komponenty i zwróć uwagę, że dla tej grupy uprawnienie Logowanie do witryny jest już ustawione, jako Dozwolone. Dzieje się tak, ponieważ ta grupa dziedziczy uprawnienia od grupy nadrzędnej, w tym przypadku grupy Nauczyciele. Ustaw dla grupy Nauczyciele - komponenty, działanie Logowanie do zaplecza jako Dozwolone.

Ustawienie uprawnień dla grupy Nauczyciele - komponenty w konfiguracji globalnej

Dokładnie te same czynności wykonaj dla grup: Nauczyciele informatyki, Nauczyciele matematyki i Nauczyciele WF.

Dla grup: Uczniowie i Rodzice ustaw Dozwolone tylko dla działania: Logowanie do witryny.

Konfiguracja uprawnień do komponentów

Zakładam, że wybrani nauczyciele, którzy będą należeć do grupy: Nauczyciele - komponenty, będą mogli po zalogowaniu się do zaplecza (panelu administracyjnego) serwisu, zarządzać (tworzyć, edytować, usuwać, decydować o stanie publikacji) wybranymi obiektami, np. artykułami, kontaktami, zakładkami.

Aby wyświetlić lub dokonać zmian uprawnień odnoszących się do konkretnego komponentu, musisz najpierw wyświetlić jego pulpit. Na przyborniku znajdziesz wówczas przycisk Opcje. Teraz zdefiniujesz uprawnienia dla komponentu Artykuły. Wobec tego kliknij w menu Artykuły pozycję Artykuły, a następnie kliknij przycisk Opcje.

Wyświetlenie opcji komponentu Artykuły w Joomla! 3.x

Kliknij kartę Uprawnienia, aby zobaczyć listę wszystkich grup użytkowników oraz przypisane im uprawnienia. Kliknij na nazwę grupy: Nauczyciele - komponenty, zmień dla działań: Dostęp do komponentu, Tworzenie, Usuwanie, Poprawianie, Zmiana stanu, Poprawianie własnych, uprawnienie na Dozwolone. Na koniec kliknij przycisk Zapisz i sprawdź, czy zmiany zostały zapisane prawidłowo.

 Zmiana uprawnień dla grupy Nauczyciele - komponenty w komponencie Artykuły

Dokładnie w taki sam sposób ustaw uprawnienia dla grupy Nauczyciele - komponenty dla komponentu Kontakty (menu Komponenty -> Kontakty) i dla komponentu Zakładki (menu Komponenty -> Zakładki)

Chciałbym, aby nauczyciele poszczególnych przedmiotów mogli tworzyć artykuły w określonych kategoriach oraz edytować swoje artykuły i decydować o stanie ich publikacji. Nauczyciele Ci mogliby wykonywać te czynności zarówno od strony frontowej serwisu, jak i od strony zaplecza.

Najpierw zdefiniuj uprawnienia w taki sposób, aby nauczyciele należący do grup przedmiotowych mieli dostęp do komponentu Artykuły. Pamiętasz jak to zrobić? Menu Artykuły - > Artykuły -> przycisk Opcje -> karta Uprawnienia. Kliknij na wybraną nazwę grupy, np.: Nauczyciele informatyki i zmień dla działania: Dostęp do komponentu, Tworzenie, Zmiana stanu, Poprawianie własnych uprawnienie na Dozwolone. Na koniec kliknij przycisk Zapisz i sprawdź, czy zmiany zostały zapisane prawidłowo.

Definiowanie uprawnień do komponentu Artykuły dla grupy: Nauczyciele informatyki Dokładnie te same czynności wykonaj dla pozostałych grup nauczycieli: Nauczyciele matematyki i Nauczyciele WF. 

Konfiguracja uprawnień do kategorii

Teraz pora zdefiniować uprawnienia do konkretnych kategorii artykułów dla nauczycieli poszczególnych przedmiotów oraz wybranej grupy uczniów.

Aby przypisać uprawnienia do wybranej kategorii komponentu Artykuły, musisz przejść do menadżera kategorii: menu Artykuły -> Kategorie. Kliknij na nazwie wybranej kategorii, np. INFORMATYKA, następnie kliknij kartę Prawa dostępu do kategorii (uprawnienia), wybierz grupę: Nauczyciele informatyki. Ponieważ na samym początku założyłem, że: nauczyciele określonych przedmiotów mogą tworzyć artykuły w określonych kategoriach oraz edytować swoje artykuły i decydować o stanie ich publikacji, ustaw dla działań: Tworzenie, Zmiana stanu, Poprawianie własnych, uprawnienie: Dozwolone. Na koniec kliknij przycisk Zapisz i sprawdź, czy zmiany zostały zapisane prawidłowo.

Definiowanie uprawnień do wybranej kategorii dla wybranej grupy użytkowników

Dokładnie te same czynności wykonaj dla pozostałych grup nauczycieli:

  • Nauczyciele matematyki - kategoria MATEMATYKA;
  • Nauczyciele WF - kategoria WF;

Zauważ, że nie musisz ustawiać uprawnień dla poszczególnych podkategorii znajdujących się w kategoriach: INFORMATYKA, MATEMATYKA, WF, ponieważ podkategorie dziedziczą uprawnienia z kategorii nadrzędnych!

Teraz ustal uprawnienia dla wybranej grupy uczniów (Redaktorzy). Wcześniej założyłem, że: wybrana grupa uczniów może tworzyć artykuły w określonych kategoriach oraz dodawać zakładki. Zatem zakładam, że w szkole przydałoby się paru redaktorów, którzy opracowywali by teksty dotyczące np. bieżących wydarzeń w szkole. Wobec tego zdefiniuję uprawnienia do utworzonej wcześniej kategorii AKTUALNOŚCI. Kategoria ta jest kategorią podrzędną w stosunku do kategorii INFORMACJE.

W menadżerze kategorii kliknij nazwę podkategorii: AKTUALNOŚCI, następnie kliknij kartę Prawa dostępu do kategorii (uprawnienia), wybierz grupę: Redaktorzy. Ustaw dla działań: Tworzenie, Zmiana stanu, Poprawianie własnych, uprawnienie: Dozwolone. Na koniec klikinij przycisk Zapisz i sprawdź, czy zmiany zostały zapisane prawidłowo.

Definiowanie uprawnień dla grupy: Redaktorzy do kategorii: AKTUALNOŚCI

Zakładam, że uczniowie, którzy należą do grupy Redaktorzy będą także mogli dodawać własne zakładki związane ze sportem. Wobec tego zdefiniuję uprawnienia do utworzonej wcześniej kategorii Sport w komponencie Zakładki (menu Komponenty -> Zakładki -> Kategorie). Podobnie jak w przypadku definiowania uprawnień do kategorii w komponencie Artykuły, kliknij na nazwie wybranej kategorii, w tym przypadku: SPORT, następnie kliknij kartę Prawa dostępu do kategorii (uprawnienia), wybierz grupę: Redaktorzy. Ustaw dla działań: Tworzenie, Zmiana stanu, Poprawianie własnych, uprawnienie: Dozwolone. Na koniec kliknij przycisk Zapisz i sprawdź, czy zmiany zostały zapisane prawidłowo.

Definiowanie uprawnień do wybranej kategorii w komponencie Zakładki

 

Krok 5. Przypisywanie użytkowników do grup

Ponieważ korzystasz z testowego serwisu, musisz utworzyć przy najmniej po jednym użytkowniku dla każdej z grup, aby móc przetestować działanie serwisu dla poszczególnych użytkowników. Kliknij w menu Użytkownicy pozycję Użytkownicy, następnie pozycję Utwórz konto użytkownika.

Tworzymy nauczyciela, który będzie miał możliwość zalogowania się do zaplecza i dostęp do wybranych komponentów. W polu Nazwa wpisz np. Imię i nazwisko, ja wpisuję: Nauczyciel Komponentowy, w polu Użytkownik, wpisz login, jakim będzie się posługiwał ten użytkownik, ja wpisuję: komponentowyn, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail.

Tworzenie nowego użytkownikaw Joomla! 3.x

Następnie kliknij kartę: Przypisz do grup i zaznacz pole wyboru obok nazwy: Nauczyciele - komponenty. kliknij przycisk Zapisz i nowy, aby utworzyć kolejnego użytkownika.

Przypisywanie użytkownika do grup

Utwórz następujących użytkowników:

  • Nazwa: Nauczyciel Informatyki, Użytkownikinformatykin, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz do grup: Nauczyciele informatyki;
  • Nazwa: Nauczyciel Matematyki, Użytkownik: matematykin, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz doo grup : Nauczyciele matematyki;
  • Nazwa: Nauczyciel Wuefu, Użytkownik: wuefun, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz do grup: Nauczyciele WF;
  • Nazwa: Uczeń Zwykły, Użytkownik: zwyklyu, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz do grup : Uczniowie;
  • Nazwa: Uczeń Redaktor, Użytkownik: redaktoru, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz do grup : Redaktorzy;
  • Nazwa: Jan Rodzic, Użytkownik: rodzicj, w polach: Hasło i Powtórz hasło wpisz testowe hasło, natomiast w polu: Email wpisz jakiś testowy adres e-mail, Przypisz do grup : Rodzice;

Teraz lista użytkowników powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista użytkowników po wykonaniu ćwiczeniaKrok 6. Ustalenie poziomu dostępu do kategorii oraz artykułów

Na tym etapie należy zastanowić się, jakie treści powinny być ogólnodostępne, a jakie tylko dla konkretnych grup użytkowników. Załóżmy, że kategoria ZASTĘPSTWA oraz artykuły znajdujące się w tej kategorii powinny być widoczne tylko dla nauczycieli, uczniów i ich rodziców.

Aby ustalić dostęp na poziomie kategorii, w menadżerze kategorii (menu Artykuły -> Kategorie), kliknij nazwę wybranej kategorii (w tym przypadku ZASTĘPSTWA), a następnie w polu Dostęp, wybierz z listy pozycję Uczniowie.

Definiowanie dostępu do wybranej kategorii w Joomla! 3.x

Zapisz wprowadzone zmiany, następnie dokonaj modyfikacji dostępu do kolejnych kategorii:

  • INFORMATYKA i kategorie podrzędne - Uczniowie;
  • MATEMATYKA i kategorie podrzędne - Uczniowie;
  • WF i kategorie podrzędne - Uczniowie;
  • RODZICE i kategorie podrzędne - Rodzice;
  • OGŁOSZENIA (kategoria podrzędna kategorii INFORMACJE) - Nauczyciele;

Teraz lista kategorii powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista kategorii artykułów po wprowadzonych zmianach dostępu

Lista kategorii artykułów po wprowadzonych zmianach dostępu

Aby ustalić dostęp na poziomie artykułu, w menadżerze artykułów (menu Artykuły -> Artykuły), kliknij nazwę wybranego artykułu (w tym przypadku ZASTĘPSTWA), a następnie w polu Dostęp, wybierz z listy pozycję Uczniowie.

Zmiana poziomu dostępu do artykułu w Jooml;a! 3.x

Zapisz wprowadzone zmiany, następnie dokonaj modyfikacji dostępu do kolejnych artykułów.

Krok 7. Ustalenie poziomu dostępu do pozycji menu

Podobnie, jak w przypadku zmiany poziomu dostępu do kategorii artykułów i samych artykułów, musisz się zastanowić się, jakie pozycje menu powinny być ogólnodostępne, a jakie tylko dla konkretnych grup użytkowników. Załóżmy, że kategoria ZASTĘPSTWA oraz artykuły znajdujące się w tej kategorii powinny być widoczne tylko dla nauczycieli, uczniów i ich rodziców.

Aby ustalić dostęp na poziomie pozycji menu, w projektancie pozycji menu (menu Menu -> Nazwa wybranego menu), kliknij nazwę wybranej pozycji (w tym przypadku ZASTĘPSTWA), a następnie w polu Dostęp, wybierz z listy pozycję Uczniowie.

Zmiana poziomu dostępu dla wybranej pozycji menu w Joomla! 3.x

Zapisz wprowadzone zmiany, następnie dokonaj modyfikacji dostępu do kolejnych pozycji menu. Zdefiniowanie poziomu dostępu na inny niż Public lub Guest powoduje, że pozycje menu nie są już widoczne dla niezalogowanych użytkowników serwisu:

Wygląd pozycji menu w serwisie po dokonanych zmianach

Po zalogowaniu ucznia (Uczeń Zwykły), ten sam fragment serwisu wygląda tak:

Wyglą menu głownego po zalogowaniu użytkownika należącego do grupy: Uczniowie

Po zalogowaniu nauczyciela (Nauczyciel Informatyki), ten sam fragment serwisu wygląda tak:

Wyglą menu głównego po zalogowaniu się użytkownika należącego do grupy: Nauczyciele informatyki

Krok 8. Ustalenie poziomu dostępu do modułów

Zauważ, że po prawej stronie serwisu wyświetlane są tematyczne moduły, które powinny być wyświetlane odpowiednim grupom użytkowników. W zawiązku z tym trzeba zmienić poziom dostępu do tych modułów. Otwórz menadżera modułów (menu Rozszerzenia -> Moduły), kliknij nazwę wybranego modułu (na przykład RODZICE), a następnie w polu Dostęp, wybierz z listy pozycję Rodzice.

 Zmiana poziomu dostępu do wybranego modułu w Joomla! 3.x

Zapisz wprowadzone zmiany, następnie dokonaj modyfikacji dostępu do kolejnych modułów:

  • INFORMATYKA - Uczniowie;
  • MATEMATYKA - Uczniowie;
  • WF - Uczniowie;

Teraz lista modułów powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista modułów po dokonanych zmianach poziomów dostępu

Zauważ, że moduły, w których zmienione były poziomy dostępu nie są już widoczne dla niezalogowanych użytkowników serwisu:

Wygląd serwisu po zmianach poziomu dostępu w wybranych modułach

Po zalogowaniu ucznia (Uczeń Zwykły), ten sam fragment serwisu wygląda tak:

Wyglą serwisu, po zalogowaniu użytkoenika należącego do grupy: Uczniowie

A tak wygląda serwis po zalogowaniu rodzica (Jan Rodzic):

Wygląd serwisu, po zalogowaniu użytkoenika należącego do grupy: Rodzice

Krok 9. Tworzenie menu i modułu użytkownika

W testowym serwisie uprawnieni użytkownicy (Nauczyciele - komponentyNauczyciele informatyki, Nauczyciele matematyki, Nauczyciele WF, Redaktorzy) nie mają narzędzi do tworzenia własnych treści. Aby im to umożliwić utwórz menu z odpowiednimi pozycjami oraz moduł, który to menu wyświetli.

Tworzenie Menu użytkownika

Utwórz nowe menu o nazwie, np. Menu użytkownika (menu Menu -> Projektant menu -> Utwórz menu):

Tworzenie nowego menu w Joomla! 3.x

Kliknij przycisk Zapisz i zamknij, następnie na liście menu w oknie Projektant menu: Menu kliknij nazwę: Menu użytkownika, aby utworzyć w nim nowe pozycje menu:

  • Zmień swoje dane - zalogowani użytkownicy będą mogli dostosować swój profil do własnych preferencji;
  • Dodaj artykuł - uprawnieni użytkownicy będą mogli zredagować i dodać własny artykuł;
  • Dodaj zakładkę - uprawnieni użytkownicy będą mogli dodać propozycję własnej zakładki;

W oknie Projektant pozycji menu: Pozycje kliknij przycisk Utwórz. Obok pola Typ pozycji menu kliknij przycisk Wybierz, następnie kliknij belkę Użytkownicy, a potem link Dostosuj swój profil. W polu Tytuł menu, wpisz na przykład: Zmień swoje dane, natomiast w polu Dostęp wybierz z listy pozycję Registered.

Tworzenie nowej pozycji menu w Joomla! 3.x

Kliknij przycisk Zapisz i nowy, aby utworzyć kolejną pozycję menu. Obok pola Typ pozycji menu kliknij przycisk Wybierz, następnie kliknij belkę Artykuły, a potem link Wyślij artykuł. W polu Tytuł menu, wpisz na przykład: Dodaj artykuł, natomiast w polu Dostęp wybierz z listy pozycję Redaktorzy.

Tworzenie nowej pozycji menu: Dodaj artykuł

 

Kliknij przycisk Zapisz i nowy, aby utworzyć kolejną pozycję menu. Obok pola Typ pozycji menu kliknij przycisk Wybierz, następnie kliknij belkę Zakładki, a potem link Dodaj zakładkę. W polu Tytuł menu, wpisz na przykład: Dodaj zakładkę, natomiast w polu Dostęp wybierz z listy pozycję Redaktorzy.

Dodawanie nowej pozycji menu: Dodaj zakładkę Kliknij przycisk Zapisz i zamknij. Lista pozycji w menu: Menu użytkownika powinna wyglądać podobnie do tej pokazanej na rysunku poniżej:

Lista pozycji menu w menu: Menu użytkownika

Tworzenie modułu: Menu użytkownika

Utwórz nowy moduł o nazwie Menu użytkownika (menu Rozszerzenia -> Moduły -> przycisk: Utwórz -> typ modułu: Menu):

Tworzenie nowego modułu w Joomla! 3.x

Nie zapomnij przypisać do tego modułu właśćiwego menu (Menu użytkownika):

Przypisanie menu do modułu

Zapisz wprowadzone zmiany i rozpocznij testy ;-)

Krok 10. Testowanie od strony witryny

Pora na przeprowadzenie testów!

Dla niezalogowanego użytkownika, serwis prezentuje się następująco:

Wygląd serwisu dla niezalogowanego użytkownika

Zaloguj się na użytkownika z grupy Uczniowie (Uczeń Zwykły). Wówczas serwis powinien prezentować się następująco:

Wygląd serwisu po zalogowaniu się użytkownika należącego do grupy: Uczniowie

Po kliknięciu linku: Zmień swoje dane, użytkownik otrzyma formularz następujący formularz:

Formularz umożliwiający zarejestrowanym użytkownikom zmianę swoich danych

Dokładnie tak samo powinien prezentować się serwis po zalogowaniu się użytkownika z grupy Rodzice.

Zaloguj się na użytkownika z grupy Redaktorzy (Uczeń Redaktor). Wówczas serwis powinien prezentować się następująco:

Wygląd serwisu po zalogowaniu użytkownika należącego do grupy: Redaktorzy

Zauważ, że w module Menu użytkownika pojawiły się dwa nowe linki! Kliknij link Dodaj artykuł. W formularzu wpisz testowy tytuł artykułu oraz testową treść, a następnie kliknij kartę Publikacja.

Formularz dodawania artykułu dla użytkownika z grupy: Redaktorzy

Zwróć uwagę, że nie masz wyboru kategorii, ani nie możesz decydować o stanie publikacji. Kliknij przycisk Zapisz, aby przesłać artykuł.

Tworzenie nowego artykułu przez użytkownika należącego do grupy: Redaktorzy - karta Publikacja

Kliknij link Dodaj zakładkę, a W formularzu wpisz testowy tytuł zakładki, adres internetowy oraz testową treść, a następnie kliknij przycisk Zapisz.

Tworzenie nowej zakładki przez użytkownika należącego go grupy: Redaktorzy

Zauważ, że zarówno artykuł, jak i zakładka nie zostały opublikowane w serwisie! Czekają one na publikację przez użytkownika z wyższymi uprawnieniami ;-)

OK, teraz sprawdź konto nauczyciela jakiegoś przedmiotu, np. Nauczyciel Informatyki. Wówczas serwis powinien prezentować się następująco:

Wyglą serwisu, po zalogowaniu użytkownika należącego do grupy: Nauczyciele informatyki

Kliknij link Dodaj artykuł. W formularzu wpisz testowy tytuł artykułu oraz testową treść, a następnie kliknij kartę Publikacja.

Tworzenie artykułu testowego przez użytkownika z grupy: Nauczyciele informatyki

Zwróć uwagę, że możesz wybrać tylko kategorię INFORMATYKA wraz z jej podkategoriami, nie możesz także decydować o stanie publikacji. Wybierz dowolną z dostępnych kategorii i kliknij przycisk Zapisz, aby przesłać artykuł.

Wybór kategorii podczas tworzenia nowego artykułu dla użytkownika z grupy: Nauczyciele informatyki

Krok 11. Testowanie od strony zaplecza

Ostatni krok, to sprawdzenie, czy prawidłowo ustawione są uprawnienia do zaplecza serwisu!

Przypomnę jedno z założeń: nauczyciele określonych przedmiotów mogą tworzyć artykuły w określonych kategoriach oraz edytować swoje artykuły i decydować o stanie ich publikacji. Zaloguj się do panelu administracyjnego, korzystając z danych logowania użytkownika jednej z grup: Nauczyciele informatyki, Nauczyciele matematyki, Nauczyciele WF. Ja loguję się na użytkownika: Nauczyciel Informatyki (informatykin).

Zobacz jak bardzo ograniczony dostęp ma ten użytkownik:

Wygląd zaplecza serwisu, po zalogowaniu się użytkownika z grupy: Nauczyciele informatyki

Kliknij a menu Artykuły, pozycję Artykuły.  Zwróć uwagę, że nie masz dostępu do wszystkich artykułów znajdujących się na liście! Możesz poprawić, usunąć, przenieść do archiwum lub zdecydować o stanie publikacji, tylko te artykuły, które znajdują się w kategorii, do której dana grupa użytkowników ma dostęp! W tym przypadku do kategorii INFORMATYKA.

Lista artykułów wyświetlona dla użytkownika należącego do grupy: Nauczyciele informatyki

Jeżeli użytkownik wybierze jakąkolwiek opcję w artykule, do którego nie ma dostępu, system wyświetli stosowny komunikat:

Próba usunięcia artykułu przez użytkownika należącego do grupy: Nauczyciele informatyki

Sprawdź teraz, czy użytkownik może utworzyć artykuł. Kliknij przycisk Utwórz. W formularzu wpisz testowy tytuł artykułu oraz testową treść, a następnie wybierz kategorię.

Tworzenie nowego artykułu na zapleczu serwisu przez użytkownika należącego do grupy: Nauczyciele informatyki

Zauważ, że możesz wybrać tylko takie kategorie, do jakich masz dostęp, a także, że na poziomie tworzenia artykułu nie możesz zdecydować o stanie jego publikacji. Nie martw się - po kliknięciu przycisku Zapisz i zamknij, będzie możliwość zmiany stanu publikacji! Wystarczy, że na liście artykułów klikniesz na ikonkę czerwonego kółka z białym krzyżykiem lub wybierzesz z listy pozycję Opublikuj, aby artykuł był już widoczny w serwisie!

Publikowanie artykułu przez użytkownika należącego do grupy: Nauczyciele informatyki

Otwórz teraz menadżera kategorii (menu Artykuły -> Kategorie). Zwróć uwagę, że nie masz dostępu do wszystkich kategorii znajdujących się na liście! Możesz zdecydować o stanie publikacji, tylko tych kategorii, do której dana grupa użytkowników ma dostęp! W tym przypadku do kategorii INFORMATYKA.

Lista kategorii wyświetlana dla użytkownika należacego do grupy: Nauczyciele informatyki

Sprawdź teraz, czy użytkownik może utworzyć kategorię - kliknij przycisk Utwórz. W formularzu wpisz testowy tytuł kategorii oraz testowy opis, a następnie wybierz kategorię.

Tworzenie nowej kategorii przez użytkownika należącego do grupy: Nauczyciele informatyki

Jak zapewne zauważysz, masz dostęp tylko do wybranych kategorii ;-)

Kliknij przycisk Zapisz i zamknij, aby powrócić do okna Kategorie: Artykuły. Teraz możesz opublikować nowoutworzoną kategorię, lub dokonać zmian. Zwróć uwagę na fakt, że użytkownik może modyfikować tylko te kategorie, które sam utworzył :-)

Okno Kategorie: Artykuły w Joomla! 3.x

Założenie: nauczyciele określonych przedmiotów mogą tworzyć artykuły w określonych kategoriach oraz edytować swoje artykuły i decydować o stanie ich publikacji, jest zrealizowane :-)

Sprawdź, czy pozostałe grupy nauczycieli: Nauczyciele matematyki, Nauczyciele WF mają prawidłowo ustawione uprawnienia!

Kolejne założenie: wybrana grupa nauczycieli powinna mieć dostęp do wybranych komponentów serwisu. Zaloguj się do panelu administracyjnego, korzystając z danych logowania użytkownika z grupy Nauczyciele - komponentyNauczyciel Komponentowy (komponentowyn).

Wygląd zaplecza serwisu po zalogowaniu użytkownika należącego do grupy: Nauczyciele - komponenty

W stosunku do użytkowników należących do grup nauczycieli poszczególnych przedmiotów, użytkownicy z grupy Nauczyciele - komponenty mają większe uprawnienia. Mogą oni zarządzać artykułami i kategoriami w komponencie Artykuły, a także kontaktami i kategoriami kontaktów w komponencie Kontakty i zakładkami i kategoriami zakładek w komponencie Zakładki. W każdym z trzech dostępnych komponentów mogą oni tworzyć, edytować zarówno swoje jak i stworzone przez innych obiekty, usuwać je i decydować o stanie publikacji. W zasadzie mają pełne prawa do tych komponentów oprócz możliwości ich konfigurowania. Na przyborniku każdego z dostępnych komponentów brak jest przycisku Opcje.

Brak przycisku OPcje w komponencie Artykuły

Wydaje mi się, że wszystkie założenia zawarte w opisie problemu, udało się zrealizować!

Mam nadzieję, że udało mi się wyjaśnić Tobie na tym konkretnym przykładzie, jakie potężne możliwości drzemią w ACL zaimplementowanym w Joomla! 3.x.

Na koniec jeszcze krótkie przypomnienie!

Za pomocą ACL możesz określić, którzy użytkownicy powinni mieć dostęp do określonych części witryny lub zaplecza (np. artykułów, pozycji menu, czy modułów), a także, jakie operacje użytkownicy mogą wykonywać na danym obiekcie Twojego serwisu, np. wysłać artykuł, edytować swój lub artykuł stworzony przez innego użytkownika, zmieniać stan publikacji artykułu itp.

Pamiętaj, że każdy obiekt (np. artykuły, moduły, pozycje menu) w Twoim serwisie opartym na Joomla 3.x ma przypisany jakiś poziom dostępu. Jak korzystać z domyślnych poziomów, oraz tworzyć własne, przeczytasz w artykule: Poziomy dostępu w Joomla! 3.x. Każdy użytkownik zarejestrowany w Twoim serwisie musi należeć przy najmniej do jednej z domyślnych grup (Public, Guest, Manager, Administrator, Registered, Author, Editor, Publisher i Super Users) lub grup stworzonych przez Ciebie. Jak zarządzać grupami użytkowników oraz jak utworzyć nową grupę użytkowników i w jaki sposób przypisać użytkownika do danej grupy, przeczytasz w artykule: Grupy użytkowników w Joomla! 3.x. Mechanizm przypisywania uprawnień dla grup użytkowników w Joomla! służy do ustawiania określonego dostępu do treści lub operacji, jakie użytkownicy mogą wykonywać w Twoim serwisie. Jak korzystać z tego mechanizmu, dowiesz się z artykułu: Uprawnienia w Joomla 3.x.

Na koniec ważna uwaga! Pamiętaj, że zanim zaczniesz korzystać z ACL, najpierw przetestuj je na kopii serwisu!

 

Chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Joomla! Day Poland 2013 - czy warto tam być?
Uprawnienia w Joomla 3.x

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/

    Najnowsze komentarze

    Gość - Studio Jak wybrać hosting dla Joomla!?
    13 wrzesień 2019
    Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
    Gość - Marek Szyfrowanie symetryczne a niesymetryczne
    09 czerwiec 2019
    "Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
    Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
    10 maj 2019
    Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
    Gość - Andy SSL i Joomla! w Smarthost
    03 styczeń 2019
    Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
    Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
    02 styczeń 2019
    Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...