IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

10. diel - Objekty systému ObjectGears - Úloha a riadenie prístupu

V minulej lekcii, Aplikačný katalóg a Konfiguračná databáza CMDB v ObjectGears , som sa pozreli na Aplikačný katalóg ako ukážku využitia dát z Konfiguračnej databázy CMDB a zobrazenia pre užívateľov mimo IT.

V dnešnom ObjectGears tutoriále si ukážeme vlastnosti objektu Role a spôsob riadenia prístupu užívateľov. Zároveň si popíšeme základné tri druhy používateľov.

Neoddeliteľnou súčasťou každého systému musí byť riadenie prístupu užívateľov k dátam. Ten umožňuje používateľom zobraziť len tie záznamy a stránky, na ktoré majú oprávnenie. Má ich aj systém ObjectGears av tomto článku si vysvetlíme, ako to celé funguje.

Práva na jednotlivé časti systému ObjectGears (dáta v triedach a dotazoch, prístupy na stránky…) sa používateľom neprideľujú priamo, ale pomocou rolí. To umožňuje lepšiu zameniteľnosť používateľov. Pokiaľ je užívateľ pridelený na novú prácu, potom stačí priradiť mu požadované role a nie je nutné zisťovať, ktoré objekty by mal vidieť na čítanie či zápis. Pri odchode používateľa opäť len postačí rola odobrať.

Užívateľ má pridelené role a to priamo v ObjectGears alebo pomocou externého systému, napr. ActiveDirectory. Tieto roly sú následne pridelené k objektom (napr. triedam) s konkrétnou operáciou. U triedy sa jedná o operácie na čítanie, zápis, mazanie, hromadné operácie a ďalšie.

Na obrázku vidíme pridelenie oprávnenia k určitým operáciám pre role IT Architect a Všichni autentizovaní uživatelé:

Systém ObjectGears

Druhy užívateľov

Systém ObjectGears rozlišuje tri druhy užívateľov:

  • Administrátor – má plné práva na správu systému. Jediné čo nemôže, je pracovať s dátami a formulármi. Avšak si môže prideliť príslušné role, či vyčítať dáta pomocou skriptov.
  • IT vlastník - má práva ako administrátor, ale len pre konkrétny model, kde je priradený. Na objekty správy mimo modely nemá prístup (napr. joby, role…).
  • Užívateľ – má práva len na objekty, ktoré mu boli pridelené pomocou rolí.
Optimálne budeme mať 1-3 administrátorov (kvôli zástupnosti), niekoľko IT vlastníkov, ktorí budú rozvíjať im pridelené modely a potom bežných užívateľov. Pri menšom IT oddelení môžu byť všetci ľudia z IT tímu nastavení ako administrátori a rozvíjať všetky naše modely.

Pokiaľ sa medzi užívateľmi nájde skúsený človek s logickým myslením a menšou znalosťou programovania, je dobré ho zahrnúť do tvorby modelov. Stačí ho nastaviť ako IT vlastníka modelu a nechať ho samostatne model rozvíjať. Zložitejšie skriptovanie, či úpravy v databáze si môže vyžiadať od IT tímu.

Tým docielime väčšie zapojenie business užívateľov a odľahčíme IT tímu. Zároveň tak používatelia lepšie prijmú celý systém ObjectGears s modelmi, pretože sa na rozvoji budú sami aktívne podieľať. Hromada zlepšovacích návrhov, ktoré si čiastočne môžu urobiť aj sami, je len čerešničkou na torte :-)

Rola

Základom všetkého sú role. Pri vytváraní rolí je vhodné dopredu rozmyslieť, aké typy užívateľov budú mať do modelu prístup a podľa toho vytvoriť role. Napr. do modelu bude mať prístup manager, ktorý ale potrebuje len práva na čítanie. Ďalej operátor, ktorý bude záznamy vytvárať a meniť. Môžeme vytvoriť aj rolu pre správcu modelu, ktorý bude mať práva na všetky záznamy vrátane číselníkových tried.

Nie je vhodné vytvárať role typu Model_čtení, Model_insert, Model_update, pretože požadovaný prístup väčšiny typov užívateľov k objektom sa nedá jednoducho rozdeliť na čítanie, vkladanie, zmena.

Na obrazovku so zoznamom rolí sa dostaneme pomocou ľavého menu Správa => Riadenie prístupu => Role:

Systém ObjectGears

Pri každej role v zozname je zobrazený jej kód, názov a či je povolená. Kliknutím na jej ID v prvom stĺpci si zobrazíme detailné informácie o úlohe.

Kliknutím na tlačidlo Nový sa zobrazí prázdny formulár pre zadanie novej role:

Systém ObjectGears

Popis vlastností role je nasledujúci:

  • Kód – slúži na prácu s rolou pomocou skriptovania,
  • Názov – lokalizovaný názov role, ktorý sa v systéme zobrazuje pri priradení k iným objektom,
  • Externá skupina – názov role v externom poskytovateľovi rolí, napr. ActiveDirectory. Podľa tohto názvu sa rola priradená používateľom páruje s rolou v systéme Objectgears a používateľ tak získa práva na objekty v systéme Objectgears,
  • Povolené – príznak umožňuje rýchlo zapnúť/vypnúť rolu v celom systéme,
  • Ihneď priradiť užívateľovi – pri zaškrtnutí je rola ihneď pri prihlásení užívateľa priradená. V opačnom prípade má užívateľ na rolu nárok, ale musí si ju explicitne sám povoliť (viď. ďalej).
Nastavenie Ihneď priradiť užívateľovi umožňuje užívateľom si zakázať rolu, pokiaľ by k nej bola nadviazaná činnosť, ktorú nechcú omylom spustiť. Napríklad pokiaľ raz za mesiac spúšťame kontrolu, schvaľujeme, expedujeme a nechceme danú funkcionalitu spustiť omylom, potom rolu takto označíme. Pred vlastným spustením funkcionality si užívateľ zobrazí svoj profil, rolu si povolí, vykoná danú funkcionalitu a rolu si opäť zakáže. Celé to slúži na zvýšenie bezpečnosti či zamedzenie chybného spustenia funkcionality.

V sekcii Použitie role je zobrazené, k akému modelu je rola priradená. Ak je priraďovanie rolí riadené systémom ObjectGears, potom je zobrazený aj zoznam užívateľov s danou rolou.

Priradenie role

Úlohy sú užívateľom priraďované dvoma spôsobmi:

  1. Priamo v systéme ObjectGears. V detaile užívateľa administrátor jednotlivým užívateľom priraďuje požadované role. Toto nastavenie je vhodné pri nasadení na verejný hosting mimo firemnej domény.
  2. Priradenie rolí používateľom sa preberá z externého systému, napr ActiveDirectory. Priraďovanie rolí je tak vo firme riadené centrálne pre všetky aplikácie.
Voľba nastavenia sa vykonáva pomocou konfiguračného parametra AssignRoleToUser v súbore web.config.

Systémové role

V systéme existuje niekoľko systémových rolí, ktoré nemožno zmazať, ale umožňujú vybrať špecifickú skupinu užívateľov:

  • Všetci používatelia – túto rolu majú automaticky všetci užívatelia,
  • Všetci autentizovaní užívatelia – túto rolu majú prihlásení užívatelia,
  • Všetci neprihlásení užívatelia – túto rolu majú neprihlásení užívatelia,
  • Tvorba reportov - táto rola umožnuje užívateľom vytvárať a meniť užívateľské reporty.
Priradenie rolí k objektom

Po vytvorení role je potrebné ju priradiť ku konkrétnym objektom (triedy, otázky, stránky, tlačidlá…). V prvom kroku je nutné rolu povoliť na danom modeli. Potom je možné v danom modeli rolu používať.

V detaile modelu si zobrazíme záložku Úloha a zobrazenie. Vyberieme požadovanú rolu zo zoznamu a klikneme na tlačidlo Pridať. Po pridaní rolí celý model uložíme pomocou tlačidla Uložiť.

Na obrázku vidíme, že pre model EasyTask, sú vybrané role IT Architect a Všichni autentizovaní uživatelé:

Systém ObjectGears

V detaile triedy už môžeme rolu pridať na záložke Role a zobrazenia. Vo výbere Role vyberieme rolu, zaškrtneme jednu alebo niekoľko operácií, ktoré chceme s rolou povoliť a klikneme na tlačidlo Pridať.

Po pridaní všetkých požadovaných rolí triedu uložíme pomocou tlačidla Uložiť:

Systém ObjectGears

Úlohu môžeme povoliť pre všetky operácie na triede alebo môžete použiť viac rolí pre rôzne kombinácie operácií. Jednu na čítanie, druhú na aktualizáciu, ďalšiu na hromadné mazanie.

Podobne ako pri triede sa nastavujú roly pri dotazoch, stránkach, tlačidlách, importoch a exportoch. Len majú trochu odlišné operácie.

Povolenie a zakazovanie rolí

Vďaka hierarchii priradenia Role-Model-Objekt (trieda, dotaz, tlačidlo, import, export) je umožnené povoľovať a zakazovať role na rôznych úrovniach. Zakázanie je dobré, ak chceme funkcionalitu alebo rolu dočasne zakázať, ale zatiaľ ju nechceme odstraňovať z nastavenia.

Zakázanie role

V detaile role je možné zrušením voľby Povolené zakázať rolu v celom systéme ObjectGears.

Zakázanie role pri modeli

V detaile modelu zakážeme rolu len pre daný model. Pre zakázanie/povolenie stačí len kliknúť na Áno/Nie v stĺpci Povolené v zozname priradených rolí.

Zakázaná rolka na modeli je potom podfarbená sivo, ako je vidieť na obrázku:

Systém ObjectGears

Pokiaľ je zakázaná priamo rola, potom bude jej názov vypísaný kurzívou.

Zakázanie role pri objekte

Pri koncových objektoch nemožno úlohu zakázať, ale len odobrať. Aj tu sa zakázané role alebo role zakázané na modeli zobrazujú kurzívou.

Správa rolí

Zo zoznamu rolí alebo od modelu si môžeme zobraziť stránku Správa rolí. Tá nám umožňuje hromadne prezerať, vyhľadávať, priraďovať, mazať role pri všetkých objektoch:

Systém ObjectGears

V hornej časti stránky sme vybrali model EasyTask av záložke Triedy typ objektu, ktorý chceme zobraziť. V prostrednej časti máme tlačidlá na pridanie rolí k vybraným (zaškrtnutým) objektom nižšie, prípadne ich odobratie. Vo Filter, v dolnej časti, môžeme upresniť, ktoré záznamy chceme vidieť. V reálnom modeli ich bude skutočne veľa. Zaškrtávatkom na každom zázname vyberáme konkrétny objekt (na obrázku sa jedná o triedu) pre ďalšie spracovanie.

Stránku Správa rolí použijeme, ak potrebujeme skontrolovať, či sú správne roly priradené a nie je objekt bez rolí. Zároveň po vytvorení nového modelu tu ľahko priradíme role k viacerým objektom naraz, čo nám ušetrí čas. A v neposlednom rade na jednej stránke môžeme rolu hromadne odobrať od viacerých objektov.

V ďalšej lekcii, Údržba logov v systéme ObjectGears , sa zameriame na správny prístup k údržbe logov na zabezpečenie väčšej stability systému.


 

Predchádzajúci článok
Aplikačný katalóg a Konfiguračná databáza CMDB v ObjectGears
Všetky články v sekcii
Systém ObjectGears
Preskočiť článok
(neodporúčame)
Údržba logov v systéme ObjectGears
Článok pre vás napísal Jan Stodůlka
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v C# a MS SQL serveru.
Aktivity