602SQL-┌plnß dokumentace Index   Tisk  

Role a prßva v aplikaci

Role jsou nßstrojem, jak zprost°edkovat u₧ivatel∙m prßva ke specifick²m akcφm nebo dat∙m a aplikaci. Autor aplikace definuje role podle logiky aplikace a p°id∞lφ jim prßva. Administrßtor aplikace obsadφ u₧ivatele nebo skupiny do t∞chto rolφ a tφm jim p°edß p°φsluÜnß prßva.

Nap°φklad v ekonomickΘm systΘmu existuje akce "Vytvo°it novou fakturu". Prßvo provΘst tuto akci budou mφt pouze n∞kte°φ u₧ivatelΘ systΘmu. Proto:

  1. autor aplikace zalo₧φ roli Fakturant a p°id∞lφ jφ vÜechna prßva pot°ebnß k zalo₧enφ faktury - nap°φklad prßvo vlo₧it zßznam do tabulky faktur a do tabulky polo₧ek vyskytujφcφch se na faktu°e, prßvo Φφst tabulku obchodnφch partner∙ atd.
  2. administrßtor aplikace obsadφ do role Fakturant vÜechny ty u₧ivatele, kte°φ budou mφt oprßvn∞nφ vytvß°et faktury, p°φpadn∞ jako celek skupinu u₧ivatel∙, kte°φ pat°φ do fakturaΦnφho odd∞lenφ.

Autor aplikace neznß u₧ivatele, kte°φ budou jeho aplikaci pou₧φvat, proto jim nem∙₧e p°id∞lovat prßva. Administrßtor aplikace neznß vnit°ek aplikace do tΘ mφry, aby v∞d∞l, se kter²mi objekty se pracuje p°i zaklßdßnφ faktury. Proto role jsou spojovacφm m∙stkem mezi autorem a provozovatelem aplikace.

Viz takΘ programßtorskΘ odliÜnosti verze 8.0.

Standardnφ role

P°i vytvo°enφ novΘ aplikace vzniknou 4 standardnφ role. P°i vytvo°enφ novΘho objektu v aplikace se t∞mto standardnφm rolφm p°id∞lφ tato prßva:
Standardnφ role Implicitnφ prßva
Author Prßvo modifikovat nebo ruÜit vÜechny objekty v aplikaci
Administrator Prßvo Φφst a p°episovat data ve vÜech tabulkßch a pou₧φvat vÜechny objekty
Senior_user Prßvo Φφst a p°episovat data ve vÜech tabulkßch a pou₧φvat vÜechny objekty
Junior_user Prßvo Φφst data ve vÜech tabulkßch a pou₧φvat vÜechny objekty

Implicitn∞ p°id∞lenß prßva standardnφm rolφm slou₧φ pouze jako pom∙cka pro nejb∞₧n∞jÜφ situace. Autor aplikace m∙₧e p°id∞lenφ prßv t∞mto rolφm jakkoliv zm∞nit a m∙₧e tyto role z aplikace i odstranit.

Krom∞ toho mß role Administrator oprßvn∞nφ, kterß jφ nemohou b²t odebrßna: prßvo obsazovat u₧ivatele a jejich skupiny do vÜech rolφ, prßvo definovat sdφlenφ aplikace mezi replikujφcφmi servery a prßvo zruÜit celou aplikaci.

Obsazovßnφ do rolφ

Prßvo obsazovat do rolφ mß administrßtor aplikace (tj. u₧ivatel obsazen² do role Administrator ve stejnΘ aplikaci) a takΘ (pro °eÜenφ mimo°ßdn²ch situacφ) bezpeΦnostnφ sprßvce serveru.

V tzv. zamΦenΘ aplikaci je obsazovßnφ do role Author znemo₧n∞no.

Vytvo°enφ novΘ aplikace

V nov∞ vytvo°enΘ aplikaci je tv∙rce obsazen do rolφ Author i Administrator. Pro nov∞ vytvß°enΘ objekty se p°id∞lujφ prßva standardnφm rolφm dle popisu v²Üe.

Pokud si autor p°eje, aby n∞kterß komponenta mohla b²t modifikovßna za provozu aplikace, poskytne prßva k jejφmu p°episu n∞kterΘ roli (jinΘ ne₧ Author).

Pokud si autor p°eje omezit prßva k dat∙m v n∞kterΘ tabulce, odebere tato prßva standardnφm rolφm. Nap°φklad tabulka obsahujφcφ d∙v∞rnΘ dokumenty jednotliv²ch u₧ivatel∙ bude mφt prßva p°id∞lovanß na ·rovni zßznam∙ a globßlnφ prßva ke vÜem zßznam∙m nemusφ mφt ₧ßdnß role (ani Administrator).

RuÜenφ aplikace a jejφ komponent

ZruÜit aplikaci jako celek m∙₧e pouze u₧ivatel obsazen² do role Administrator nebo Author, a takΘ (pro °eÜenφ mimo°ßdn²ch situacφ) bezpeΦnostnφ sprßvce serveru. Mohou k tomu pou₧φt SQL p°φkaz DROP SCHEMA nebo °φdicφ panel klienta 602SQL. P°i ruÜenφ celΘ aplikace se netestujφ prßva k jednotliv²m komponentßm.

SamostatnΘ ruÜenφ objekt∙ se °φdφ jednotliv∞ nastavenφm prßva zruÜit objekt. Standardn∞ se toto prßvo p°id∞lφ u₧ivateli, kter² objekt vytvo°il, a roli Author. Pokud toto prßvo nenφ explicitn∞ poskytnuto jin²m rolφm, v zamΦenΘ aplikaci nebude mφt prßvo ruÜit komponenty nikdo.

Export a import aplikace

Aplikace se m∙₧e exportovat pro dv∞ r∙znΘ t°φdy ·Φel∙:

V druhΘm p°φpad∞ °φkßme, ₧e aplikace je exportovßna jako zamΦenß.

Po importu aplikace je u₧ivatel, kter² import provedl, obsazen do role Administrator. Mimo to nezφskß ₧ßdnß dalÜφ prßva. Mo₧nost zasahovat do komponent aplikace zßvisφ na tom, zda aplikace je zamΦenß:

Dßle je po importu obsazena skupina EVERYBODY do role Junior_user.