Dynamic Search Permission Checking for Disparate Repositories

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepermission checking speedVSAvoidpermission accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If comprehensive permission checking is performed across all repositories, then permission accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvepermission accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If permission checking is performed on all search results, then access control accuracy is improved, but processing time increases

Engineering Contradiction:
Improveaccess control accuracyVSAvoidsearch processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240232420A9System and method of dynamic search result permission checking
Publication Date: 2024.07.11 SHINYDOCS
  • US20240232420A9 patent drawing
  • US20240232420A9 patent drawing
  • US20240232420A9 patent drawing

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.