Security Functions
Using these functions in formulas, you can create conditional expressions on the current user viewing the report. Examples would be filtering records in the Record Selection Formula, hiding fields or sections, etc. depending on the WebUserName or Role of the current user viewing the report.
With the function FireAccessDenied
it is possible to completely cancel the report execution if the current user is not logged in or if it is not a member of the specified roles (groups).
Within the configuration used by i-net Designer and if a user name and/or role have been specified in the Designer Options dialog.
The following 3 functions are available in the node "Security Functions" of the Formula Editor:
-
FireAccessDenied - stop the rendering of the report
-
IsWebUserInRole - returns whether the current user is the member of a certain role
-
WebUserName - the user name of the user currently logged in and viewing the report
Filtering with a Record Selection Formula
In case you have sensitive data in your database for different users and you want any user to only be able too see his or her own data then you can filter the data. A typical example is a ticket or billing system.
If you have a table column with the user names you could for instance set the Record Selection Formula to:
if WebUserName() = "" then fireAccessDenied() else {YourTable.username} = WebUserName();
The call of the function fireAccessDenied is used to force a login for the user if they are not logged in yet.