Task #69
closed
Role - kompozice, typy, permissions
Added by Vít Švanda over 8 years ago.
Updated over 8 years ago.
Description
- Přidat novou vrstvu permissions
- Definice oprávnění (enumerace dle modulu)
- Zapojit do přihlášení (Token bude obsahovat permissions)
- Aplikační logika bude vázaná pouze na permissions
- Kompozice
- BE
- Zapojit do agendy rolí
- Typy rolí
- Budou existovat různé typy rolí (systémová...)
- Dokumentace
- Testy FE/BE
- Estimated time set to 24.00 h
- Status changed from New to In Progress
- Assignee set to Radek Tomiška
Pro vyhodnocování cílových oprávnění se použijí autority (hasAuthority) nikoliv samotné role. Obdobně jako na původním backendu bude existovat konfigurace jednotlivých autorit (permissions) u role. Přiřazením role identitě získá identita cílové autority. Autority budou vraceny po přihlášení jako unikátní seznam základních oprávnění (e.g. USER_READ) => autority budou dostupné v security kontextu uživatele.
Pro zjednodušení a zpřehlednění nastavování oprávnění na roli budou vytvořeny interface:
- BasePermission - základní oprávnění (e.g. READ, WRITE ...)
- GroupPermision - skupina (cíl) oprávnění (e.g. USER, ROLE ...)
Přiřazení oprávnění k roli bude reprezentováno dvojicí:
- target - cíl oprávnění - instance GroupPermision
- action - zálkadní oprávnění - instance BasePermission
Při vyhodnocení pak bude target a action vystupovat jako autorita target_action (e.g. USER_READ).
Každý modul bude moci zaregistrovat svoji vlastní množinu oprávnění (jak novou skupinu, tak přidat do existující skupiny nové základní oprávnění).
- % Done changed from 0 to 90
Všechny featury jsou implementovány dle zadání výše. Dokumentaci jsem přenesl do wiki.
Zbývá dopsat testy:
- BE:
- unit test na vyhodnocení uživatelova oprávnění (SecurityService)
- unit test na vyhodnocení kompozice rolí - načítání oprávnění od všech aktvních subrolí
- FE:
- unit test na vyhodnocení uživatelova oprávnění (SecurityManager)
- Status changed from In Progress to Needs feedback
- Assignee changed from Radek Tomiška to Vít Švanda
Dopnil jsem zmíněné unit testy.
Navíc jsem doplnil tabulku s přidělenými oprávněními na detail uživatele - záložka s rolemi (znázorňuje oprávnění získané díky přiřazeným rolím a jejich subrolím).
Prosím o tet a review.
- Assignee changed from Vít Švanda to Ondřej Kopr
- Status changed from Needs feedback to Resolved
- Assignee changed from Ondřej Kopr to Radek Tomiška
- % Done changed from 90 to 100
Documentation found on KB - OK
Tests - OK
Interfaces: BasePermission, GroupPermission and implementation (there found enumeration)- OK
RoleTypes - OK
Token found soapUi - OK
- Status changed from Resolved to Closed
Also available in: Atom
PDF