IP Library Granted Patent US 11,783,016
Granted Patent B2
US 11,783,016 · App. 18/158,270 · Granted Oct 10, 2023

Computing system and method for verification of access permissions

Inventor: James Dabbs (Santa Barbara, CA)
Assignee: Procore Technologies, Inc.
G06F21/31G06F9/547G06F21/6218G06F2221/2141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,783,016
App. No.
18/158,270
Granted
Oct 10, 2023
Kind
B2
Abstract

An example computing platform is configured to detect a request on behalf of a given user, the request comprising a parameter of a given type; determine that the parameter requires a permission verification; apply to the request a verification status indicator that indicates whether or not a permission verification has been successfully performed for the given user with respect to the parameter; perform a permission verification for the given user with respect to the parameter; either (i) leave the verification status indicator set to a first value if the given user does not have permission to embed scripts into the given type of parameter, or (ii) update the verification status indicator from the first value to a second value if the given user has permission to embed scripts into the given type of parameter; and grant or deny the request based at least in part on the verification status indicator.

Claims (65)

1. A computing platform comprising:

a network interface;

at least one processor;

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

detect a request on behalf of a given user, the request comprising a parameter of a given type that includes an embedded script;

determine that the parameter requires a permission verification;

based on determining that the parameter requires a permission verification, apply to the request a verification status indicator that indicates whether or not a permission verification has been successfully performed for the given user with respect to the parameter;

perform a permission verification for the given user with respect to the parameter;

after performing the permission verification, either (i) leave the verification status indicator set to a first value indicating that a permission verification has not been successfully performed if the given user does not have permission to embed scripts into the given type of parameter, or (ii) update the verification status indicator from the first value to a second value indicating that a permission verification has been successfully performed if the given user has permission to embed scripts into the given type of parameter; and

determine whether to grant or deny the request based at least in part on the verification status indicator.

2. The computing platform of claim 1 , wherein the parameter comprises a Hypertext Markup Language (HTML) tag.

3. The computing platform of claim 2 , wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to perform the permission verification for the given user with respect to the parameter comprise program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

obtain permission information for the given user; and

based on the obtained permission information and the HTML tag, determine whether the given user has permission to embed the HTML tag in a rendered HTML response page.

4. The computing platform of claim 1 , wherein the request is received from a client station associated with the given user.

5. The computing platform of claim 1 , wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

determine that the verification status indicator for the parameter is set to the second value indicating that a permission verification has been successfully performed; and

in response to determining that the verification status indicator for the parameter is set to the second value, grant the request.

6. The computing platform of claim 1 , wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

determine that the verification status indicator for the parameter is set to the first value indicating that a permission verification has not been successfully performed; and

in response to determining that the verification status indicator for the parameter is set to the first value, deny the request.

7. The computing platform of claim 6 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

after denying the request, store a record of the denied request in a log.

8. The computing platform of claim 1 , wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

determine that the request should be granted even if a permission verification has not been successfully performed;

grant the request; and

if a permission verification has not been successfully performed, perform an audit to determine why the permission verification did not succeed.

9. The computing platform of claim 1 , wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to determine that the parameter requires a permission verification comprise program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:

use available information about an Application Programming Interface (API) of the computing platform to identify the parameter within the request that requires a permission verification.

10. A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing platform to:

detect a request on behalf of a given user, the request comprising a parameter of a given type that includes an embedded script;

determine that the parameter requires a permission verification;

based on determining that the parameter requires a permission verification, apply to the request a verification status indicator that indicates whether or not a permission verification has been successfully performed for the given user with respect to the parameter;

perform a permission verification for the given user with respect to the parameter;

after performing the permission verification, either (i) leave the verification status indicator set to a first value indicating that a permission verification has not been successfully performed if the given user does not have permission to embed scripts into the given type of parameter, or (ii) update the verification status indicator from the first value to a second value indicating that a permission verification has been successfully performed if the given user has permission to embed scripts into the given type of parameter; and

determine whether to grant or deny the request based at least in part on the verification status indicator.

11. The non-transitory computer-readable medium of claim 10 , wherein the parameter comprises a Hypertext Markup Language (HTML) tag.

12. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by at least one processor, cause the computing platform to perform the permission verification for the given user with respect to the parameter comprise program instructions that, when executed by at least one processor, cause the computing platform to:

obtain permission information for the given user; and

based on the obtained permission information and the HTML tag, determine whether the given user has permission to embed the HTML tag in a rendered HTML response page.

13. The non-transitory computer-readable medium of claim 10 , wherein the request is received from a client station associated with the given user.

14. The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by at least one processor, cause the computing platform to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions that, when executed by at least one processor, cause the computing platform to:

determine that the verification status indicator for the parameter is set to the second value indicating that a permission verification has been successfully performed; and

in response to determining that the verification status indicator for the parameter is set to the second value, grant the request.

15. The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by at least one processor, cause the computing platform to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions that, when executed by at least one processor, cause the computing platform to:

determine that the verification status indicator for the parameter is set to the first value indicating that a permission verification has not been successfully performed; and

in response to determining that the verification status indicator for the parameter is set to the first value, deny the request.

16. The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by at least one processor, cause the computing platform to determine whether to grant or deny the request based at least in part on the verification status indicator comprise program instructions that, when executed by at least one processor, cause the computing platform to:

determine that the request should be granted even if a permission verification has not been successfully performed;

grant the request; and

if a permission verification has not been successfully performed, perform an audit to determine why the permission verification did not succeed.

17. A method carried out by a computing platform, the method comprising:

detecting a request on behalf of a given user, the request comprising a parameter of a given type that includes an embedded script;

determining that the parameter requires a permission verification;

based on determining that the parameter requires a permission verification, applying to the request a verification status indicator that indicates whether or not a permission verification has been successfully performed for the given user with respect to the parameter;

performing a permission verification for the given user with respect to the parameter;

after performing the permission verification, either (i) leaving the verification status indicator set to a first value indicating that a permission verification has not been successfully performed if the given user does not have permission to embed scripts into the given type of parameter, or (ii) updating the verification status indicator from the first value to a second value indicating that a permission verification has been successfully performed if the given user has permission to embed scripts into the given type of parameter; and

determining whether to grant or deny the request based at least in part on the verification status indicator.

18. The method of claim 17 , wherein the parameter comprises a Hypertext Markup Language (HTML) tag.

19. The method of claim 18 , wherein performing the permission verification for the given user with respect to the parameter comprises:

obtaining permission information for the given user; and

based on the obtained permission information and the HTML tag, determining whether the given user has permission to embed the HTML tag in a rendered HTML response page.

20. The method of claim 17 , wherein determining that the parameter requires a permission verification comprises:

using available information about an Application Programming Interface (API) of the computing platform to identify the parameter within the request that requires a permission verification.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2023
From: DABBS, JAMES
To: PROCORE TECHNOLOGIES, INC.
Reel/Frame 062731/0334 →
Continuity (2)
Continuation 17008547 · Aug 31, 2020
Related Publication 20230153403A1 · May 18, 2023