Rights system
PageBuilder uses the ControlBase to define support for sentry rights as well as data-binding rights. The ControlBase
class is contained in SuperOfice.Web.UI.Controls namespace and the base class for all controls used by the PageBuilder. This concept allows controls to be disabled automatically when a field is read-only. Sentry rights are calculated at the lowest level of NetServer and transported up through the web service to the GUI layer.
Note
Sentry acts as the watchdog that keeps an eye on all the access to data in the SuperOffice database.
All sub-classes of the ControlBase
support AJAX callbacks and declarative configuration and layout via the PageBuilder.
Sentry right
The following example shows how a sentry right can be used.
<panel id="Contact" type="SplitterPanel" soprotocol="Contact" paneltype="Main" placeholderid="MainPlaceHolder">
<!--Some other code-->
<sentry-rights>
<sentry-right tableright="HasInsert" type="disable">appointment</sentry-right>
</sentry-rights>
</panel>
If the logged-in user doesn’t have the required rights to insert data, the field, button, or any other relevant item is disabled. Also, if a menu item such as a button or drop-down list has been blocked by several sentry rights, it is enough that one of them hits.
Function right
The following example shows how a function right can be used.
<panel id="Contact" type="SplitterPanel" soprotocol="Contact" paneltype="Main" placeholderid="MainPlaceHolder">
<!--Some other code-->
<function-rights>
<function-right type="hide">hide-sale</function-right>
</function-rights>
</panel>
The function rights are applied to user roles. In the above code, hide-sale
means that the users belonging to a role that has the functional right Hidesale enabled will not be able to see the Sale dialog in the GUI.