Dynamic Search Permission Checking for Disparate Repositories
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing content management systems face challenges in ensuring that users can only access search results aligned with their current permissions across multiple disparate repositories, as permission caching is often outdated and difficult to manage, leading to inaccurate access controls.
Innovation Solution
A dynamic search result permission checking system that validates user credentials on the fly and performs permission checks across multiple repositories, ensuring that only permitted documents are displayed, using a method that synchronizes with the latest permission structures without requiring external caching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If permission caching is used to store user permissions externally, then permission checking speed is improved, but permission accuracy deteriorates due to outdated cached data
Solution Approach 1:
The system dynamically validates user permissions against the actual repository permission structures at the time of search execution, rather than relying on static cached permission data. This dynamic approach ensures permission accuracy while maintaining acceptable performance through on-demand validation.
Solution Approach 2:
The system uses the user's own credentials to perform self-validation against the repository permission structures. The user's credentials are automatically used to check permissions during the search process, eliminating the need for external permission caching while maintaining accuracy.
2Measurement precision
If comprehensive permission checking is performed across all repositories, then permission accuracy is improved, but system complexity increases
Solution Approach 1:
The system uses a universal approach by leveraging the existing credential validation mechanisms already present in each repository. Instead of implementing separate permission checking systems for each repository, it uses the repositories' own authentication and permission structures, reducing overall system complexity while maintaining comprehensive permission accuracy.
3Measurement precision
If permission checking is performed on all search results, then access control accuracy is improved, but processing time increases
Solution Approach 1:
The system performs preliminary permission validation by checking user credentials against the repository permission structures before final search result generation. This preliminary action filters out unauthorized documents early in the process, preventing unnecessary processing time while ensuring accurate access control for all results.
Data Source
AI summary
A system and method of dynamic search result permission checking. A system that provides end users the ability to search an index (i.e., Shinydocs Index) built from content from one or multiple source repositories, and only display results for which the user has sufficient permissions at source to view. User credentials are validated “on the fly”, such that these checks are performant across a multiple of possible back-end repositories sequentially or simultaneously. The resultant search results from the Index may be sourced from many disparate repositories, each of which have their own unique permission structure (to view individual items). A method for handling permissions in multiple repositories in a secure (yet performant) fashion in order to only display search results that the end-user is allowed to view based on source system permissions.


