Skip to content

Authorization missing #27

@hakenr

Description

@hakenr

Dosud jsme neřešili oprávnění jinak, než že se kontrolovalo, že je uživatel přihlášen, popř. že pracuje s vlastními záznamy.
Known issue bylo jen seedování, kdokoliv mohl pustit znovu seed, pokud šel na /admin.
Nyní se ale myslím dostáváme za hranici toho, co tam můžeme nechat bez ochrany:

  • EntryFacade.GetEntriesOfPeriod() vrátí všechny záznamy v periodě komukoliv přihlášenému (= přístup k chráněným datům)
  • PeriodFacade.CreateNewPeriod()
  • ...rovnou je potřeba vyřešit i ten seed (a ochránit i UI AdminIndex.razor, atp.).

Navrhuji to pro tuto chvíli řešit členstvím v AAD roli Global Administrator, popř. nějaké konkrétní skupině (třeba Bonusario Administrator). Pro účely aplikace bych to transformoval na roli.

V nastavení AAD je potřeba zapnout injectování AAD-groups do tokenů (claimů), pak se to z toho čte už klasicky, např.
https://github.com/mensagymnazium/IntranetGen3/blob/460b4447355517a3a4794fc9d784f462adf600b8/Services/Security/UserOnboarder.cs#L83

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions