|
| Struktura datových tříd (druhů objektů) |
| Datová architektura Kaskády | Historie událostí |
|
Tato kapitola popisuje nejkomplexnějším způsobem problematiku přístupových práv uživatelů k datům a činnostem v rámci Kaskády.
Za určitý úvod do této problematiky lze považovat kapitolu Přístup do systému v první větvi Help systému, zde však najdete informace podrobnější.
Každý objekt v Kaskádě si nese informace o přístupových právech. Uživatel může s objektem manipulovat do té míry, kterou mu nastavená práva poskytují. Vůbec při tom nezáleží na tom, odkud se uživatel k objektu dostal. Zda to bylo z určité složky nebo z karty Souvisí nějakého souvisejícího objektu, případně prostřednictvím Vyhledávače nebo jinak.
Výše uvedená věta má naprosto zásadní význam a pro pochopení principu přístupových práv je nutno dokonale ji pochopit. Uvádíme to proto, že často vzniká mylný dojem, že práva k objektu jsou dána složkou, do které je tento objekt propojen. To nemusí být pravda dokonce ani v souborovém systému na disku Vašeho počítače, kdy určitý soubor není dostupný pro určitého uživatele, který vidí složku v níž je soubor umístěn. V Kaskádě je oddělení přístupových práv k objektům od jejich umístění ve složkách odděleno ještě ostřeji. Propojení Kaskádního objektu do složky je totiž pouze jedním z mnoha způsobů jeho propojení s jinými objekty, přístupových cest ke každému objektu je mnoho. Proto objekt sám nese informace o svých přístupových právech, jak bylo řečeno výše.
Časem budou zřejmě implementované podpůrné funkce, které například při vložení objektu do určité složky nabídnou režim, který prověří práva uživatelů k této složce a dodatečně i příslušnému objektu nastaví pro uživatele alespoň právo vidět tento objekt. Je však potřeba si uvědomit, že takovým nastavením bude změněno právo k příslušnému objektu nejen v rámci této složky, ale obecně v rámci celé Kaskády. Bude-li tedy takto objekt zpřístupněn určitému uživateli, uvidí jej následně i v kartách Souvisí jiných objektů s nimiž je propojen, může jej vyhledat prostřednictvím Vyhledávače apod.
Datový objekt Kaskády je představován určitými údaji (hodnotami) zobrazovanými v prohlížeči, lze hovořit o dostupnosti (viditelnosti) a editovatelnosti (právem měnit) těchto údajů.
Zároveň lze s datovým objektem provádět různé činnosti, konkrétní činnosti závisí na druhu příslušného objektu. Například v rámci dokladů se jedná o vystavení, zaúčtování, ..., v případě Kontaktů se jedná o sloučení s jiným Kontaktem, analýzu... apod.
V Kaskádě nastavení práv k objektu rozhoduje jak o přístupu k datům, tak o přístupu k činnostem (právo provést - spustit určitou činnost). Zde je na místě podotknout, že provedení celé řady činností s objektem zapisuje Kaskáda do historie a lze tedy kdykoliv zjistit kdo a kdy jakou činnost prováděl.
Kromě činností, které lze provádět s jednotlivými objekty, samozřejmě existují činnosti komplexnějšího charakteru. Právo k provádění takových činností je obvykle určeno zařazením uživatele do administrátorských pozic.
Vlastnictví objektu je jedním ze základních prostředků k tomu, jak uživatelům poskytnout práva (oprávnění) k příslušnému objektu.
Každý datový objekt Kaskády musí být vlastněn určitým uživatelem a kromě toho může(někdy musí) být vlastněn také určitou skupinou uživatelů.
Vlastnění objektu uživatelem je povinné - každý objekt tedy musí mít určeného vlastnícího uživatele. V některých situacích jím však může být formální uživatel "Systém Kaskáda".
Vlastnící uživatel má k objektu veškerá práva s vyjímkou některých speciálních činností vyhrazených pouze pro administrátora. Objekt je tedy pro něho dostupný, editovatelný, může nastavovat práva jiným uživatelům a skupinám, může také předat vlastnictví objektu na někoho jiného.
V převážné většině případů je objekt vlastněn tím uživatelem, který jej vytváří. Může však buďto přímo v rámci prohlížeče (u některých druhů) nebo v dialogu Vlastnosti objektu zadat jiného uživatele a tím mu vlastnictví předat. Přitom sám vlastnictví ztrácí a pokud nemá k objektu jiná práva, může také nad tímto objektem ztratit kontrolu.
Vlastnění objektu skupinou uživatelů je u některých druhů povinné, jindy zakázané, u řady druhů je volitelné. Při vzniku nového objektu Kaskáda obvykle předdefinuje vlastnící skupinu, změnit jí lze v dialogu Vlastnosti objektu.
Vlastnění objektu určitou skupinou neposkytuje samo o sobě žádná práva členům této skupiny.
Platí však, že členové této skupiny mají k objektu taková práva, která odpovídají jejich rolím zastávaným v rámci skupiny. Pokud je například určitý Kontakt vlastněn skupinou Celá firma, pak uživatel, který je ve skupině Celá firma obsazen do role Senior kancelářských objektů má právo editovat tento Kontakt díky svému obsazení do role. Tato práva jsou dynamická - znamená to, že pokud administrátor uživatelů a skupin určitého uživatele vyřadí z příslušné role, automaticky tím uživatel ztrácí práva odpovídající této roli a tím pádem již například nemá dostupné objekty, které dosud dostupné měl.
K příslušnému objektu lze nastavit práva pro libovolného uživatele Kaskády a to tak, že v dialogu Vlastnosti objektu v kartě Práva přidáte uživatele do seznamu subjektů a v dolní části zaškrtnete role, které vymezují rozsah oprávnění pro tohoto uživatele. Checkboxy pro nastavení hromadných rolí edit/delete jsou přístupné jen tehdy, když má sám user tyto práva.
Specifickým případem je poskytnutí práv ke složce, neboť Kaskáda v takovém případě zjišťuje, zda "obdarovaný" uživatel má příslušnou složku již zařazenou do své struktury stromu složek. Pokud ji nemá, pak automaticky vytvoří avízo typu Sdílení složky a umožní příslušnému uživateli zařazení získané složky do jeho stromu složek.
Poskytnutí práv k objektu určité skupině se provádí ve stejném dialogu a stejným způsobem. Dopad tohoto nastavení je však poněkud jiný. Zatímco v prvním případě je konkrétnímu uživateli poskytnuto oprávnění odpovídající konkrétní roli (bez ohledu na to jaké role zastává v jakých skupinách), v případě poskytnutí práva skupině záleží na tom, kteří uživatelé v příslušné "obdarované" skupině zastávají jaké role.
Znamená to, že pokud nastavíte pro objekt O a skupinu S oprávnění role R (s výjimkou hromadných rolí), pak právě uživatelé, kteří ve skupině S jsou obsazeni do role R, získají k objektu O příslušná práva.
Hromadné role (_View, _Edit, _Delete) jsou výjimečné v tom, že pokud nastavíte pro objekt O a skupinu S oprávnění některé hromadné role, pak všichni uživatelé skupiny S získají k objektu O práva poskytovaná touto rolí, tj. zobrazit objekt O (hr. role _View), editovat (hr. role _Edit) nebo mazat (hr. role _Delete).
V dialogu Vlastnosti objektu v kartě Práva lze také příslušná práva odebrat, okamžikem uložení těchto změn dojde k jejich akceptování programem.
Kaskáda poskytuje funkce pro monitorování práv k objektu, které jsou popsané dále v této kapitole.
Kromě výše popsaných principů (vlastnictví a přidělování dalších práv k objektům) existuje ještě tento mechanismus, který dočasně (dynamicky) poskytuje určitá oprávnění některým uživatelům. Dochází k tomu ve dvou situacích:
Role představují prostředek pro delegování určitých práv uživatelům. Množina rolí je v Kaskádě pevně daná, uživatelsky nelze další role vytvářet nebo rušit, stejně tak nelze určovat oprávnění, která příslušná role poskytuje.
Administrátor Uživatelů a skupin do rolí zařazuje/vyřazuje jednotlivé uživatele a tím jim poskytuje určitá práva.
Zařazování do rolí probíhá vždy v rámci určité skupiny. Uživatel tedy může v rámci každé skupiny zastávat jiné role. Ačkoliv to možná vypadá složitě, je to velmi užitečný mechanismus. V praxi zcela běžně nastávají situace, kdy například určitý uživatel má mít přístup k dokumentům příslušejícím skupině obchod, ale nemá přístup k dokumentům příslušejícím skupině vedení firmy.
Ačkoliv je systém práv navrhován s maximální snahou o pochopitelnost a přehlednost, není (a vzhledem k rozmanitým požadavkům ani nemůže být) zcela jednoduchý. V praxi často nastane situace, kdy k určitému objektu určitý uživatel nemá taková oprávnění, jaká by on nebo správce systému očekával. V tomto okamžiku je důležité mít k dispozici prostředek, který rychle a jednoznačně poskytne informace o efektivních právech a také sdělí, na základě čeho byla příslušná efektivní práva poskytnuta.
Efektivními právy rozumíme výsledná (reálná) práva určitého uživatele k určitému objektu. Ta jsou výsledkem různých nastavení a situací popsaných výše. Například právo Zobrazení určitého objektu získává uživatel díky jeho vlastnictví, ale také díky roli, kterou zastává v rámci určité skupiny apod.
Užitečným pomocníkem při zodpovězení naznačených otázek je dialog Efektivní práva k objektu, který je dostupný prostřednictvím tlačítka Přehled práv v dialogu Vlastnosti objektu. Tento dialog nejen že zobrazí seznam uživatelů a jednotlivých typů jejich práv k danému objektu, ale pro jakýkoli detailní údaj umožňuje použitím dvojkliku získat informaci o důvodech, které příslušné právo zprostředkovávají.
|
| Struktura datových tříd (druhů objektů) |
| Datová architektura Kaskády | Historie událostí |
|