From e50093bed007302c6ededb05f7b0b84ddfe92044 Mon Sep 17 00:00:00 2001 From: prudvi-sai-posetty Date: Tue, 28 Oct 2025 15:17:37 +0530 Subject: [PATCH 1/2] userAccessTester.js --- .../User Access Tester/userAccessTester.js | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Server-Side Components/Background Scripts/User Access Tester/userAccessTester.js diff --git a/Server-Side Components/Background Scripts/User Access Tester/userAccessTester.js b/Server-Side Components/Background Scripts/User Access Tester/userAccessTester.js new file mode 100644 index 0000000000..edb2048309 --- /dev/null +++ b/Server-Side Components/Background Scripts/User Access Tester/userAccessTester.js @@ -0,0 +1,30 @@ +var CONFIG = { + tableName: 'incident', + recordSysId: 'your_record_sys_id_here', + userToImpersonate: 'user_sys_id_here', + fieldsToTest: ['number', 'short_description', 'priority', 'assignment_group'] +}; + +var originalUserID = gs.getUserID(); +var impersonator = new GlideImpersonate(); + +gs.print("Original user: " + gs.getUser().getDisplayName()); + +impersonator.impersonate(CONFIG.userToImpersonate); +gs.print("Now impersonating: " + gs.getUser().getDisplayName()); + +var gr = new GlideRecordSecure(CONFIG.tableName); +if (gr.get(CONFIG.recordSysId)) { + gs.print("Record accessible: " + gr.getDisplayValue()); + + for (var i = 0; i < CONFIG.fieldsToTest.length; i++) { + var field = CONFIG.fieldsToTest[i]; + var value = gr.getDisplayValue(field); + gs.print("Field '" + field + "': " + (value || 'Empty/No access')); + } +} else { + gs.print("Record not found or not accessible"); +} + +impersonator.impersonate(originalUserID); +gs.print("Back to original user: " + gs.getUser().getDisplayName()); From 3bd9e261db847790bf2d492389844af4517a4a8e Mon Sep 17 00:00:00 2001 From: prudvi-sai-posetty Date: Tue, 28 Oct 2025 15:20:14 +0530 Subject: [PATCH 2/2] README.md --- .../Background Scripts/User Access Tester/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Server-Side Components/Background Scripts/User Access Tester/README.md diff --git a/Server-Side Components/Background Scripts/User Access Tester/README.md b/Server-Side Components/Background Scripts/User Access Tester/README.md new file mode 100644 index 0000000000..759d2139d8 --- /dev/null +++ b/Server-Side Components/Background Scripts/User Access Tester/README.md @@ -0,0 +1,8 @@ +Simple background script to test user access to records and fields by impersonating different users. + +## What it does + +- Impersonates a specified user +- Tests access to a specific record +- Checks visibility of configured fields +- Returns to original user context