Managing Groups

An authorization mechanism in the MasonSQL framework is implemented with groups. Its a concept similar to Unix file system authorization although here there is no file ownership. On the other hand here is more and different types of permissions: Permission for CRUD interface, permissions for database access, permissions for logging, for displaying in a menu, for printing and permission for exporting to XLS.

On this page:

Groups

The Autorizzazioni->Gruppi page enables management of groups and associations with groups. Groups can be added, modified or deleted from the public.gruppi table. Users can be added or removed from the public.anagrafiche_gruppi linking table which is displayed on the bottom of the page as a child table:

Displaying groups menu.

The public.gruppi_modifica linking table contains groups of users that are allowed to be managed by the users from the parent group. It authorizes the parent group members to manage the users of children groups in the public.anagrafiche table. The public.gruppi_modifica linking table is displayed in the second tab on the bottom of the page as a child table:

Displaying a child table for management of group members of group.

Users

The Autorizzazioni->Anagrafica utenti page provides user management. Users can be added, modified or deleted from the public.anagrafiche table.
The groups to which the user belongs are stored in the public.anagrafiche_gruppi linking table which is displayed on the bottom of the page as a child table:

Displaying users menu

Authorizations

The Autorizzazioni->Funzioni e autorizzazioni page provides authorization management. The functions that are used in a web application GUI, as well as the functions that use CRUD, must be registered in the public.funzioni table. The permissions for the functions from the public.funzioni table are stored in the public.gruppi_funzioni linking table which is displayed at the bottom of the page as a child table:

Functions and authorizations menu.

Help Text

The help text of a function can be edited with the CKEditor in the second tab on the bottom of the page. The help text is stored in the public.funzioni table. It is organized in the manual which is available from the ?->Help menu:

Displaying CKEditor.

Adding New Menu Option

A new menu options for the web GUI can be added here in the Autorizzazioni->Funzioni e autorizzazioni page.

For example let's add the ListAuth function to the menu; In this example the ListAuth already exists in the public/autorizzazioni.mql file:

<%method FUNZIONE>ListAuth</%method>

If we want to add it to the menu we must also add its name to the public.funzioni table because only then will its public.funzioni.nome permissions be available for validation. While adding the function to the public.funzioni table its important to enable its appropriate permissions in the public.gruppi_funzioni linking table which is shown at the bottom of the page as a child table.

Note that if we would want to access the function with CRUD interface would have to enable the Dbms permission.

Be warned that the ListAuth enables access to the the public.autorizzazioni table which is intended to be changed only by programmers.
Topic revision: r7 - 22 Apr 2018, GuidoBrugnara
This site is powered by FoswikiCopyright (©) Leader.IT - Italy P.I. IT01434390223 Privacy policy & use of cookies