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 dokładnie jedną wbudowaną rolą, Owner. Każda inna rola to rola własna, którą tworzysz samodzielnie.
Owner (wbudowana)
| Rola | Opis |
|---|---|
| Owner | Bezwarunkowy dostęp do wszystkiego, w tym rozliczeń i usunięcia workspace'u. 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. |
Owner to jedyna wbudowana rola. Zaproszeni członkowie zespołu dostają rolę, którą im przypiszesz — wbudowaną rolę Owner albo utworzoną przez Ciebie rolę własną.
Końcowi użytkownicy Twojej opublikowanej strony (zarejestrowani odwiedzający) to całkowicie osobny system, nie role workspace — zobacz Uwierzytelnianie członków.
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. Każda inna rola to rola własna, którą definiujesz z dowolnym podzbiorem tych uprawnień. Żeby dać komuś dostęp do panelu admina, albo promuj go na Ownera (przez transfer własności), albo utwórz rolę własną z potrzebnymi uprawnieniami.
Zapraszanie członka
- Otwórz Dashboard → Users.
- Kliknij Invite.
- Wpisz email zapraszanego i wybierz rolę.
- 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
Wbudowana rola Owner daje pełny dostęp. Dla czegokolwiek węższego — 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.
Rola Owner jest niezmienna
Tylko wbudowanej roli Owner 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