Po možnosti používat vlastní systém správy koncových uživatelů a SET USER ALIAS příkazu vás možná zajímá, jak můžete spravovat oprávnění koncových uživatelů, aniž byste museli vytvářet více uživatelských účtů 4D. Čtěte dál, protože tato verze funkce přináší odpověď!
Vývojáři 4D často potřebují spravovat koncové uživatele pomocí vlastního adresářového systému(např. z interního vývoje na externí pomocí LDAP nebo SSO). Jedním z řešení bylo vytvořit tolik uživatelských účtů 4D, kolik je práv, a pak přecházet z jednoho na druhý.
4D v18 R4 dělá věci intuitivnější tím, že umožňuje nastavit práva uživatelů se skupinami … dynamicky.
Nejjednodušší je vytvořit výchozí uživatelský účet bez členství ve skupinách:
Pak můžete vytvořit skupinu pro každé právo, které chcete spravovat.
Za běhu můžete stále používat příkaz SET USER ALIAS příkaz nastavit jméno uživatele tak, aby se zobrazovalo všude v databázi.
Nyní můžete pomocí nového příkazu SET GROUP ACCESS dynamicky nastavit i členství ve skupinách.
Všimněte si, že tyto dva příkazy nejsou k dispozici na straně serveru.
Zde je ukázka kódu spuštěná na vzdáleném klientovi po vlastním ověření uživatele:
// Set my own user field as alias
SET USER ALIAS([MyUserTable]Name)
// Set user groups following rights
C_COLLECTION ($userGroups)
$userGroups :=New collection
If(
[MyUserTable]4DWriteProAccess)
$userGroups .push("4D Write Pro")
End if
If ([MyUserTable]4DViewProAccess)
$userGroups .push("4D View Pro")
End if
SET GROUP ACCESS ($userGroups).
Pokud chcete, můžete nastavit přístup aktuální skupiny uživatelů na žádný:
SET GROUP ACCESS(New collection)
Můžete obnovit přístup k aktuální skupině uživatelů tak, jak je uložen v adresářovém souboru:
SET GROUP ACCESS
Nový příkaz Get group access umožňuje načíst aktuální členství ve skupině:
SET GROUP ACCESS(New collection("4D View Pro"; "4D Write Pro"))
$collection :=Get group access
// $collection obsahuje ["4D View Pro", "4D Write Pro"].
Všechny zadané skupinové přístupy nemají vliv na adresář uživatele / skupiny.
Nyní je řada na vás, abyste si to vyzkoušeli. Spravujte své uživatele a skupiny dynamicky … jak chcete!