Number of rows removed due to security constraint
User gets this message in a list of records whenever there is a record user doesn't have rights to view. I.e. there is an ACL restricting access to a record or there in NO ACL granting the access. Let's ignore security mode setting here.
It's a default system beharior.
Would you like to get rid of it? System to count with records user has access to?
Solution 1
Replicate row level read access ACLs to query business rules. Naturally, every query will get controlled. Well-known and suggested solution.
Solution 2
Still rely on ACLs. Use system property to apply them globally or table attribute to specify it locally:
- glide.security.ui.filter - system property (true|false).
- glide.security.ui.filter - dictionary attribute (table), no value is required.
Server-side queries may not respect ACLs. GlideRecord doesn't do it. Although, developers may enforce it by dedicated methods to access to record and fields. GlideRecordSecure is a secured version of the class.
Note, it is respected by native UI lists and Service Portal (Data Table widgets), and it is NOT respected by simple-list widget. Keep an eye on it.
UPS! do you know what's the problem with it? It's not documented.
Configuration
Follow the step to set up security UI filter for a table:
- From table list or form navigate to Configure > Dictionary
- Open table record (Collection type)
- Switch to advanced view to get Attributes field available
- Fill in
glide.security.ui.filter
attribute
Credits
Helsinki Patch 5 Changes. List widget did not honor glide.security.ui.filter system property or Dictionary attribute for table to force use of FilteredGlideRecord in lists
Widget from Service Portal - Core package: widget-data-table.