Dynamic Query Describe Object for Database Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content management systems face challenges in accurately describing record properties and user permissions due to their dynamic nature, making it difficult for applications to present correct behavior to end users, especially when permissions and actions vary by record and user role.
Innovation Solution
A user programmatic interface is provided that includes configuration metadata and record property objects to support dynamic security models, enabling applications to understand and display data access permissions and actions dynamically, such as hiding or making fields editable based on user roles and permissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a static metadata API is used to describe record properties, then the system structure is simple, but it cannot accurately describe dynamic record properties and user permissions that vary by record and user role
Solution Approach 1:
The patent applies dynamics by transforming the static metadata API into a dynamic query describe object that adapts to different records and user roles. The query describe object is generated at runtime based on the specific record being accessed and the user's permissions, allowing the system to accurately describe record properties dynamically rather than using a fixed static structure.
Solution Approach 2:
The patent changes parameters by making the metadata description parameters dynamic rather than fixed. The query describe object includes parameters such as visible fields, editable fields, and permitted actions that change based on the record state and user role, allowing the same interface to describe different property sets for different users accessing different records.
2Reliability
If granular security models are implemented with dynamic permissions, then user access control accuracy is improved, but the complexity of managing and describing permissions increases
Solution Approach 1:
The patent introduces the query describe object as an intermediary between the dynamic permission system and the application developer. This intermediary object consolidates complex permission information into a manageable format that describes what the user can see and do, shielding developers from the underlying complexity of the granular security model while maintaining accurate access control.
Solution Approach 2:
The system implements feedback by generating the query describe object based on the user's actual permissions and the record's security requirements. The describe object reflects the current state of permissions and provides feedback to the application about what actions are permitted, allowing the application to adapt its behavior accordingly without hardcoding permission logic.
3Adaptability or versatility
If applications hardcode permissions and actions, then the application structure is simple, but it cannot adapt to different user roles and record permissions
Solution Approach 1:
The patent applies preliminary action by providing the query describe object before the application needs to render or interact with the record. This describe object pre-calculates and describes all the permissions, visible fields, and permitted actions based on the user's role and the record's security settings, allowing the application to simply follow the describe object's guidance without hardcoding permission logic for different scenarios.
Data Source
AI summary
Systems and methods for providing an API for a database system. The API may be provided to enable external application developers to build applications that can support the dynamic security model of the content management system and describe the runtime properties of records in data objects. The API of may provide a record property object and/or a query describe object when returning data set in response to a query by providing information about actions an end user can take on the data records, and to provide metadata required to understand a data response.


