Dynamic Role-Based User Interface Authorization via Policy Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Universal role-based user interfaces in applications, such as online educational programs, face security issues due to unauthorized access to user interface controls, as existing solutions hard-code role-based access, requiring frequent code updates and redistribution.

Innovation Solution

A method that processes security-relevant user interface code and determines permissions based on user role information and security policy, using the Java Authentication and Authorization Service (JAAS) to selectively render user interface elements, separating security policy from source code to allow dynamic access control without modifying the user interface code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If role-based access control is hard-coded into user interface code, then security control is achieved, but code updates and redistribution are required frequently when access rights change

Engineering Contradiction:
Improvesecurity controlVSAvoidcode maintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the access control system into two independent parts: (1) the user interface code that remains unchanged, and (2) the security policy data that is dynamically configurable. This segmentation allows security rules to be modified without touching the core application code, eliminating the need for code updates and redistribution when access rights change.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component that acts as a bridge between the static user interface code and the dynamic security requirements. This intermediary processes security policy data at runtime and applies it to control user access, allowing security rules to be changed without modifying the underlying user interface code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If security policy is separated from source code, then dynamic access control is enabled, but processing overhead increases

Engineering Contradiction:
Improvedynamic access controlVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining security policy data in a structured format that can be quickly parsed and applied at runtime. This preparation work is done once during system setup or configuration, allowing for rapid evaluation of access control decisions during actual user operations, thereby minimizing processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter representation of security policies from hard-coded values to dynamic data parameters that can be efficiently stored, retrieved, and evaluated. By representing security rules as configurable parameters rather than embedded code, the system enables fast runtime evaluation with reduced processing time.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8973087B2Method and system for authorizing user interfaces
Publication Date: 2015.03.03 SAP SE
  • US8973087B2 patent drawing
  • US8973087B2 patent drawing
  • US8973087B2 patent drawing

AI summary

A method to generate a role-based user interface to be presented to a user includes processing a security-relevant portion of user interface code associated with an application, determining a permission by processing application role information pertaining to the user and security policy information, wherein the security policy information is distinct from the user interface code, and associated with the security-relevant portion of the user interface code and with permissions relating to the application, and generating the role-based user interface associated with the application to selectively include a user interface element based upon the determined permission.