How to fix it
- Navigate to
User Administration > Usersand open the user record that shouldn't have access. - Check the Roles related list. If you see
admin,security_admin, or other elevated roles, remove them or test with a non-admin user. - Go to
System Security > Access Control (ACL)and locate your ACL record. - Open the ACL and verify the
Rolesfield is not empty. If empty, add the appropriate roles that should have access. - Confirm the
Tablefield matches exactly where you want the restriction applied. - Check if conflicting ACLs exist by filtering the ACL list by your table name and looking for other rules with lower
Ordervalues (higher priority). - If you find conflicting ACLs, either modify their conditions, change their order, or set them to
Active = falseif they're no longer needed. - Review any condition script in the
Scriptfield for syntax errors or incorrect logic that might return true unintentionally. - Check
System Logs > Allfor any JavaScript errors when your ACL executes, which could cause it to default to allowing access. - Verify the ACL
Typefield matches your intent (record, field, or table-level restriction). - Test the ACL by impersonating a user who should be restricted through
System Administration > Users > Impersonate User.
Use the ACL Debug module (System Security > Debug Security Rules) to trace exactly which ACL rules are being evaluated and their results for specific users and records.