Członkowie i role
Zapraszaj członków zespołu do workspace, przypisuj role i kontroluj co każdy może robić. Obejmuje role systemowe, role własne, zaproszenia i cykl życia.
Przegląd
Workspace'y są zespołowe. Zapraszasz członków zespołu, przypisujesz im rolę, a ta rola określa co mogą robić. Ta strona dotyczy członków workspace — ludzi którzy logują się do panelu admina żeby zarządzać Twoją stroną.
To nie to samo co członkowie strony. Końcowi użytkownicy Twojej opublikowanej strony (zarejestrowani odwiedzający, subskrybenci newslettera itp.) to osobny system przechowywany w innej kolekcji. Nie dotykają panelu admina. Zobacz Uwierzytelnianie członków dla tej strony.
Role systemowe
Każdy workspace startuje z pięcioma wbudowanymi rolami. Dwie dostępne są dla panelu admina („role platformowe”), trzy dla klasyfikacji końcowych użytkowników na opublikowanej stronie („role app-user”).
Role platformowe (panel admina)
| Rola | Opis |
|---|---|
| Owner | Bezwarunkowy dostęp do wszystkiego. Dokładnie jeden na workspace. Omija wszystkie sprawdzenia uprawnień. Może przenieść własność ale nie może opuścić workspace bez wcześniejszego transferu. Może usunąć workspace. |
| Member | Domyślna rola dla zaproszonych członków. Może widzieć/tworzyć/edytować strony, media, własne modele danych, typy stron. Może widzieć formularze, zgłoszenia, kampanie email, newsletter, logi. Nie może zapraszać ani usuwać innych członków, zmieniać ustawień ani zarządzać rolami bez elewacji. |
Role app-user (opublikowana strona)
| Rola | Use case |
|---|---|
| Guest | Anonimowy odwiedzający. Używana do trackingu bez uwierzytelniania. |
| Member (app) | Zarejestrowany odwiedzający. Domyślna rola dla każdego kto rejestruje się na Twojej opublikowanej stronie. |
| Premium | Płatny/upgrade'owany odwiedzający. Rozszerz własnymi uprawnieniami dla contentu płatnego. |
Role app-user są przypisywane automatycznie na podstawie flow rejestracji na Twojej publicznej stronie. Rzadko zarządzasz nimi ręcznie.
Model uprawnień
Każda rola niesie zestaw uprawnień. Cmssy dostarcza ~50 uprawnień pogrupowanych po domenie. Uprawnienie to zdolność jak pages:publish albo users:invite.
| Domena | Przykłady |
|---|---|
| Strony | pages:view, pages:create, pages:edit, pages:delete, pages:publish |
| Media | media:view, media:upload, media:edit, media:delete |
| Użytkownicy | users:view, users:invite, users:edit, users:remove |
| Role | roles:view, roles:manage |
| Modele danych | models:view, models:create, models:edit, models:delete |
| Formularze | forms:view, forms:create, forms:edit, forms:submissions:manage |
| Marketing | campaigns:manage, campaigns:send, newsletter:manage, email:templates:manage |
| AI | ai:use, ai:configure |
| Workspace | workspace:edit, workspace:billing, workspace:delete, integrations:manage, site:config:edit |
Rola Owner ma każde uprawnienie. Domyślna rola Member ma wyselekcjonowany podzbiór (tworzenie/edycja contentu, widok większości rzeczy, ale bez ustawień ani zarządzania użytkownikami). Żeby dać więcej niż ma Member, albo promuj użytkownika na Ownera (przez transfer własności), albo utwórz własną rolę.
Zapraszanie członka
- Otwórz Dashboard → Users.
- Kliknij Invite.
- Wpisz email zapraszanego i wybierz rolę (domyślnie Member).
- Kliknij Wyślij zaproszenie. Email idący z linkiem do akceptacji.
Nowy członek pojawia się w liście Users ze statusem pending dopóki nie zaakceptuje. Jeśli zaprosisz ten sam email dwa razy, drugie zaproszenie jest odrzucane.
Zapraszanie jest też limitowane przez limit maxUsers Twojego planu. Sprawdź Workspace'y po cap swojego poziomu.
Akceptowanie zaproszenia
Zapraszany klika link w emailu. Dwie ścieżki:
- Ma już konto Cmssy — loguje się, ląduje na
/auth/accept-invitation, a workspace zostaje dodany do jego konta z przypisaną rolą. Status zmienia się naactive. - Nie ma jeszcze konta — zostaje poproszony o rejestrację. Po weryfikacji emaila wraca do flow akceptacji i członkostwo jest przypisane do nowego konta.
Pojedynczy użytkownik może zaakceptować zaproszenia do wielu workspace'ów. Będzie przełączał między nimi przez selektor workspace'u.
Status członka
Każdy członek jest w jednym z trzech stanów:
pending— zaproszony, jeszcze nie zaakceptował. Nie ma dostępu do workspace'u.active— zaakceptowany i funkcjonalny. Domyślny po akceptacji zaproszenia.suspended— dostęp odwołany ale rekord zachowany. Przydatne dla tymczasowego zablokowania bez utraty atrybucji.
Zawieszeni członkowie nie mogą zalogować się do workspace'u dopóki ich status nie zostanie przywrócony do active.
Zmiana roli członka
- Dashboard → Users.
- Znajdź członka, kliknij menu akcji w jego wierszu.
- Wybierz nową rolę z dropdowna.
Zmiany roli wchodzą w życie przy następnym żądaniu członka — nie muszą się wylogowywać i zalogowywać ponownie. Wymaga uprawnienia users:edit. Roli Ownera nie zmienisz w ten sposób; użyj transferu własności.
Usuwanie członka
To samo menu co zmiana roli: Usuń z workspace'u.
Usunięcie jest nieodwracalne — jeśli użytkownik będzie znowu potrzebował dostępu, musisz zaprosić go od zera. Jego historyczny content (strony które autoryzował, formularze które edytował) zostaje nienaruszony. Atrybucja na tych obiektach zostaje ale użytkownik już nie ma uprawnień do edycji czegokolwiek nowego.
Ownera nie można usunąć. Najpierw przenieś własność.
Opuszczanie workspace'u
Każdy nie-Owner członek może dobrowolnie opuścić. To jest niezależne od roli — nawet admini mogą opuścić.
Dashboard → Users → [Twój wiersz] → Opuść workspace. Lub przez menu ustawień konta.
Owner nie może opuścić bez wcześniejszego transferu własności. System odrzuca próby opuszczenia z jasnym błędem.
Role własne
Dwie systemowe role platformowe pokrywają większość przypadków. Gdy potrzebujesz drobniejszych uprawnień — np. „Content Editor” który może edytować strony ale nie publikować, albo „Analyst” który może tylko widzieć raporty — utwórz rolę własną.
- Dashboard → Settings → Roles → Utwórz rolę.
- Wypełnij:
- Nazwę (np. Content Editor).
- Dostęp do panelu admina (rola platformowa) albo Tylko strona (rola app-user).
- Uprawnienia — lista checkboxów pogrupowana po domenie.
- Kolor (opcjonalny, dla szybkiej wizualnej identyfikacji w tabeli Users).
- Zapisz. Rola jest teraz dostępna do przypisania przy zapraszaniu lub zmianie członka.
Edytowanie ról własnych
Ustawienia → Role → wybierz rolę → edytuj nazwę, uprawnienia lub kolor. Zmiany propagują się do wszystkich członków z tą rolą przy ich następnym żądaniu.
Role systemowe są niezmienne
Pięć wbudowanych ról (Owner, Member, Guest, App Member, App Premium) nie można edytować ani usunąć. Jeśli spróbujesz, UI odrzuca akcję. Role własne są w pełni edytowalne i usuwalne.
Usuwanie roli własnej
Gdy usuwasz rolę własną, członkowie do niej przypisani potrzebują nowej roli. Dialog usuwania prosi o wybranie roli fallback — każdy zainteresowany członek dostaje tę rolę zanim stara zostanie usunięta. Zapobiega to osieroconym członkostwom.
Powiązane
- Workspace'y — transfer własności, limity użytkowników per plan
- Tokeny API — jak rola + isSuperAdmin określa co tokeny mogą robić
- Uwierzytelnianie członków — członkowie strony (końcowi użytkownicy), osobny system