Project

General

Profile

Actions

Task #69

closed

Role - kompozice, typy, permissions

Added by Vít Švanda over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Roles
Target version:
Start date:
07/01/2016
Due date:
% Done:

100%

Estimated time:
24.00 h
Owner:

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
Actions #1

Updated by Radek Tomiška over 8 years ago

  • Estimated time set to 24.00 h
Actions #2

Updated by Radek Tomiška over 8 years ago

  • Status changed from New to In Progress
  • Assignee set to Radek Tomiška
Actions #3

Updated by Radek Tomiška over 8 years ago

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í).

Actions #4

Updated by Radek Tomiška over 8 years ago

  • % 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)
Actions #5

Updated by Radek Tomiška over 8 years ago

  • 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.

Actions #6

Updated by Radek Tomiška over 8 years ago

  • Assignee changed from Vít Švanda to Ondřej Kopr
Actions #7

Updated by Ondřej Kopr over 8 years ago

  • 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

Actions #8

Updated by Radek Tomiška over 8 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF