Query BR or Read ACL

Venkat122
Kilo Guru

Hi All,

Which is the best way to implement restricting visibility to certain records by using query business rule or read acl?

 

1 ACCEPTED SOLUTION

Aman Gurram
Giga Expert

Hi Venkat,

I know your Question has been answered, but I would like to point out a flaw when you implement it with Query BR. 
If you have a Query BR on a table that restricts access to certain records, it means 

-User cannot see the Records in List/Form

-User will also be restricted to the records in GlideRecord Queries in a script as well. 

User will be restricted to those records for every QUERY on the Table.

If you are in a situation where you have to restrict users from Reading Certain records from a Table in List/Form, but allow your scripts to query on the table without any restrictions, then Go for Read ACL. Because Read ACL will not restrict those records in a script that executes GlideRecord Query on the Table.  

Hope this Helps. 

View solution in original post

7 REPLIES 7

Coleton
Kilo Guru

Depends on where the records are. If they're on a big table like the RITM or INC tables, it takes a number of ACL's for restricting access, and possible exclusions of those records on the existing ACL's for those tables. You can create a BR that runs 'Before' when the user attempts to query that table, stating that they must require some role, be part of some assignment group, etc.

Thanks for your reply!

Will system show any performance issue if we use query business rule on a big table when we have more number of records?

It's before the user attempts to query, so it won't have an impact on performance. It's stating that before the user even attempts to query for those records, they must meet a specific set criteria that you defined in your BR.

Let me know if this answers your question by marking it correct.

Aman Gurram
Giga Expert

Hi Venkat,

I know your Question has been answered, but I would like to point out a flaw when you implement it with Query BR. 
If you have a Query BR on a table that restricts access to certain records, it means 

-User cannot see the Records in List/Form

-User will also be restricted to the records in GlideRecord Queries in a script as well. 

User will be restricted to those records for every QUERY on the Table.

If you are in a situation where you have to restrict users from Reading Certain records from a Table in List/Form, but allow your scripts to query on the table without any restrictions, then Go for Read ACL. Because Read ACL will not restrict those records in a script that executes GlideRecord Query on the Table.  

Hope this Helps.