ES2280123T3 - Sistema y procedimiento para definir selectivamente el acceso a las caracteristicas de una aplicacion. - Google Patents

Sistema y procedimiento para definir selectivamente el acceso a las caracteristicas de una aplicacion. Download PDF

Info

Publication number
ES2280123T3
ES2280123T3 ES99934061T ES99934061T ES2280123T3 ES 2280123 T3 ES2280123 T3 ES 2280123T3 ES 99934061 T ES99934061 T ES 99934061T ES 99934061 T ES99934061 T ES 99934061T ES 2280123 T3 ES2280123 T3 ES 2280123T3
Authority
ES
Spain
Prior art keywords
attributes
attribute
value
data
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES99934061T
Other languages
English (en)
Inventor
James N. Gershfield
Shawn G. Barger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Enterprise Services LLC
Original Assignee
Electronic Data Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronic Data Systems LLC filed Critical Electronic Data Systems LLC
Application granted granted Critical
Publication of ES2280123T3 publication Critical patent/ES2280123T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Storage Device Security (AREA)
  • Vehicle Body Suspensions (AREA)
  • Steering-Linkage Mechanisms And Four-Wheel Steering (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento para definir un acceso de usuario a al menos una característica en un sistema (5) de ordenador, designando dicha característica una función de aplicación, estando dicho sistema de ordenador capacitado para ejecutar al menos una aplicación y mantener una base de datos (8), teniendo cada aplicación al menos una característica, comprendiendo el procedimiento las etapas de: asignar al menos dos atributos a dicho usuario, estando uno de los atributos relacionado con la capacidad para acceder a los datos y estando uno de los atributos relacionado con la capacidad para manipular los datos a los que se ha tenido acceso; almacenar dichos al menos dos citados atributos en una primera tabla (11) en dicha base de datos (8); ejecutar una aplicación en dicho sistema de ordenador; recuperar desde dicha primera tabla (11), dos o más de dichos al menos dos atributos asignados al usuario, estando uno de los atributos recuperados relacionado con la capacidad para acceder a los datos y estandouno de los atributos recuperados relacionado con la capacidad para manipular los datos a los que se ha accedido, e imponer los atributos recuperados, con lo que se define el acceso del usuario a lo datos y la capacidad para manipular los datos a los que ha accedido, de acuerdo con los atributos recuperados.

Description

Sistema y procedimiento para definir selectivamente el acceso a las características de una aplicación.
Campo técnico de la invención
La siguiente invención se refiere en general a la definición de accesos de usuario a sistemas de ordenador, y en particular, a la capacidad para definir, de forma selectiva y flexible, los límites de cada uno de una pluralidad de accesos de usuario en cuanto a características, o una o más aplicaciones susceptibles de ser ejecutadas en un sistema de ordenador.
Antecedentes de la invención
En un entorno tal como un entorno de oficina con recursos compartidos, en el que muchos empleados y/o clientes tienen acceso a un sistema de ordenador susceptible de ejecutar numerosas aplicaciones, resulta con frecuencia deseable disponer de la capacidad de restringir el acceso de ciertos usuarios o clases de usuarios a una o más de las características de tales aplicaciones. Según se utiliza aquí, el término "características" incluye cualesquiera de las casi infinitas aplicaciones posibles tales como, por ejemplo, datos de acceso a partir de tablas de bases de datos, generación, visualización e impresión de informes, y envío y/o recepción de e-mail (correo electrónico).
En la actualidad, tal flexibilidad en la restricción del acceso de usuario no se encuentra disponible. Con respecto a restringir el acceso a datos, un método empleado actualmente por Oracle® Corporation en sus programas de bases de datos, consiste en limitar, a nivel de la base de datos, la capacidad de un usuario para acceder a tablas de datos particulares. Esto lo realiza Oracle® Corporation proporcionando la cesión de "roles" a los usuarios que restringen el acceso, no específicamente a los propios datos, sino a las tablas que contienen los datos.
La necesidad de una mayor flexibilidad en la restricción del acceso a las características de la aplicación, incluyendo la característica de acceso a datos restringida por los roles de Oracle®, puede ser ilustrada mediante un ejemplo simple. Lo que sigue es una tabla de datos hipotéticos de las transacciones financieras confidenciales realizadas por los clientes A, B y C en la mañana del 15 de Junio de 1998, donde WDRWL indica una retirada, DPST indica un depósito, y PYMNT indica un pago.
TABLA 1
1
Con el fin de preparar un informe en relación con las transacciones confidenciales de sólo el cliente A durante el mes de Junio, se necesita tener acceso a los datos de las filas 1, 4 y 6, pero no a las filas 2, 3, 5 y 7. Puesto que estos datos son altamente sensibles, resulta altamente deseable la restricción de acceso a los datos pertenecientes solamente a la asignación (es decir, información de las transacciones del cliente A).
Adicionalmente, la aplicación utilizada para preparar un informe de las transacciones pasadas de A, puede tener la capacidad de generar varios tipos diferentes de informes, incluyendo informes que proyecten el comportamiento futuro junto con lo que muestra el comportamiento pasado. Dependiendo de quién haya dado la asignación, puede que no sea deseable permitir el acceso a ambos tipos de susceptibilidades de generación de informes. También puede ser deseable permitir la impresión de los informes generados.
El documento WO 95/22792 describe un método y un aparato para controlar el acceso a una base de datos. De acuerdo con el documento WO 95/22792 el acceso a los datos de una base de datos está controlado por parte de la configuración de la base de datos, de modo que alguno de los datos contenidos en la base de datos está asociado a una etiqueta de seguridad. Se proporciona así una estructura de almacenamiento de identificadores de usuario y de etiquetas de usuario asociadas, que constituye un mapeo entre los nombres de usuario y las etiquetas de usuario. El acceso a los datos almacenados se consigue entonces determinando si las etiquetas de seguridad asociadas a los datos están enlazadas a través de la estructura de almacenaje y del mapeo respecto al nombre de usuario del usuario que intenta acceder a los datos. La provisión de este mapeo indirecto de los nombres de usuario en las etiquetas de seguridad, es posible que cambie la política de seguridad mediante la modificación de los datos intermedios de la estructura de almacenaje sin modificar los datos de la propia base de datos.
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento para la definición de un acceso de usuario a al menos una característica de un sistema de ordenador susceptible de ejecutar al menos una aplicación y mantener una base de datos, teniendo cada aplicación al menos una característica, de acuerdo con la reivindicación 1.
De acuerdo con otro aspecto de la presente invención, se proporciona un sistema de ordenador de acuerdo con la reivindicación 10.
Las realizaciones de la presente invención proporcionan la capacidad de definir selectivamente el acceso a características de la aplicación disponible, para un usuario dado o un grupo de usuarios, de un sistema de ordenador.
Las realizaciones de la presente invención proporcionan una mayor flexibilidad que la disponible actualmente en cuanto a la capacidad para restringir el acceso de usuario a los datos contenidos en bases de datos de tabla orientada.
Para una mejor comprensión de la presente invención, junto con otros objetos adicionales, se hace referencia a la descripción que sigue, tomada junto con los dibujos que se acompaña, y cuyo alcance será puntualizado en las reivindicaciones anexas.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que representa un ejemplo de sistema conforme a la presente invención;
la Figura 2 es un diagrama de bloques que representa un ejemplo de esquema de agrupamiento de sistema de atributos de usuario de la presente invención, y
la Figura 3 es un diagrama de flujo que representa una realización del procedimiento de la presente invención.
Descripción detallada de la invención Atributos de Usuario
La Figura 1 es un diagrama de bloques que representa un ejemplo de sistema de acuerdo con la presente invención. Un ordenador 5 ejecuta un software 8 de base de datos que mantiene las tablas de datos representadas mediante las tablas 11, 13 y 15. Numerosas aplicaciones, representadas por las aplicaciones ABC, DEF y GHI, son también ejecutadas en el ordenador 5, de las que algunas proporcionan medios para recuperar y manipular los datos de las tablas 11, 13 y 15. Cada uno de los usuarios del sistema, X, Y y Z, tiene acceso al ordenador 5 a través de terminales, representados por ordenadores 18, 21 y 24, respectivamente. De acuerdo con la presente invención, los usuarios X, Y y Z tienen asignados uno o más "atributos". Cada tributo tiene un nombre que designa una característica de aplicación a la que se está definiendo el acceso (por ejemplo, la capacidad de acceder a datos comprendidos en la base de datos), y un valor que define los límites de acceso, según se explica con mayor detalle en lo que sigue. A menos que el contexto indique otra cosa, según se utiliza aquí, el término atributo será utilizado para referirse a un par nombre-valor.
Los atributos son mantenidos en una tabla por el software 8 de base de datos, y definen las capacidades respectivas del usuario para ejecutar las aplicaciones ABC, EFG y GHI. A título de ejemplo, dos atributos útiles son DATA_SCOPE y USER_LEVEL. DATA_SCOPE define los datos a los que se permite el acceso al usuario, y, utilizando la Tabla I anterior como ejemplo, tiene los posibles valores A, B, C o TODOS, los cuales representan los datos asociados a los clientes A, B, C o a los tres clientes, respectivamente. USER_LEVEL es un atributo amplio que define en general el nivel de acceso a las características particulares de una aplicación dada que un usuario elige para ejecutar. USER_LEVEL tiene, con preferencia, valores de ADMIN, REGULAR y RESTRINGIDO, donde ADMIN es el menos restrictivo, concediendo acceso a todas las características disponibles de una aplicación particular, por ejemplo recuperación de informes, e-mail, impresión. RESTRINGIDO limita a los usuarios a las características más básicas de la aplicación, por ejemplo generación de informes. Los usuarios del nivel REGULAR están autorizados para acceder a menos características que los usuarios de nivel ADMIN, pero a más que los usuarios de nivel RESTRINGIDO. Cada aplicación puede interpretar el atributo de USER_LEVEL en base a las diferentes características que proporciona. Se comprenderá que se pueden utilizar diversos atributos enfocados de forma más estrecha, por ejemplo, en relación con la generación o impresión de informes, en lugar del atributo USER_LEVEL.
Los dos atributos DATA_SCOPE y USER_LEVEL, y sus valores respectivos, son, por supuesto, solamente ejemplos. Un experto en la materia podrá apreciar el potencial ilimitado para definir atributos que limiten el acceso a las características de la aplicación.
Agrupamiento
Se pueden asignar atributos a los usuarios individualmente o, en una realización preferida, se pueden implementar esquemas de agrupamiento, según el ejemplo que se ilustra en la Figura 2. Los atributos tales como DATA_SCOPE y USER_LEVEL se han representado mediante cuadrados, los "grupos de atributos" se han representado mediante triángulos, y los "grupos asignados" se han representado mediante círculos. Los grupos de atributos consisten solamente en atributos y sus valores, mientras que los grupos asignados consisten en grupos de atributos y/u otros grupos asignados, pero no atributos individuales. En una realización preferida del esquema de agrupamiento, cada grupo de atributos está limitado a los atributos para una sola aplicación, proporcionando con ello la capacidad de asignar diferentes atributos y valores para diferentes aplicaciones. En una realización alternativa, los grupos de atributos pueden ser creados con independencia de las aplicaciones particulares, de tal modo que un grupo puede contener atributos para todas las aplicaciones. No obstante, con la provisión de una flexibilidad menor en la definición del acceso a las características de las aplicaciones individuales, el sistema podría ser más simple de imple-
mentar.
En la realización preferida, una tabla APPS, que contiene al menos una columna denominada APP_CODE, define la lista de aplicaciones válidas que pueden tener atributos asociados. Haciendo de nuevo referencia a la Figura 1, los valores APP_CODE de este ejemplo son ABC, DEF y GHI. Otras columnas de la tabla APP podrán contener cualquier información que cada aplicación necesite. Por ejemplo, en un sistema de presentación de menús que proporciona iconos a partir de los cuales el usuario elige una aplicación a ejecutar, una columna APP_NAME podría contener la cadena de caracteres que se utilice como etiqueta visible del icono asociado a la aplicación en la columna
APP_CODE.
Cada grupo de atributos define un conjunto de cero o más atributos para una aplicación específica identificada por un APP_CODE. Se podría utilizar un grupo de atributos de cero atributos para indicar los valores por defecto para estos atributos que podrían ser asignados para esa aplicación. Típicamente los valores por defecto serán más restrictivos. Alternativamente, un grupo de atributos de cero atributos podría ser utilizado para indicar que no existe ninguna característica de la aplicación identificada por el APP_CODE respecto a la que se ha de definir el acceso, distinta de la capacidad de ejecutar la aplicación.
El ejemplo de agrupamiento de la Figura 2 representa una estructura de usuario más compleja que el ejemplo discutido anteriormente con relación a la Figura 1 y a la Tabla 1. Los grupos de atributos 106, 115, 130, 145 y 148 de la Figura 2 tienen asignados atributos como sigue:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página siguiente)
TABLA 2
2
En esta realización preferida, la aplicación a la que se aplica cada atributo se especifica en el instante en que se crea el grupo, y en el ejemplo que se discute, se ha indicado en la Tabla 2 anterior en la segunda columna.
Con referencia a la Figura 2, un grupo 106 de atributos asignados de usuario tendrá los atributos DATA_SCOPE 107 y USER_LEVEL 108, con valores TODOS y ADMIN, respectivamente según se muestra en la Tabla 2. De acuerdo con los atributos, se podrá permitir al usuario el acceso ADMIN a la aplicación GHI, y se otorgará acceso a los datos relacionados con cada uno de los clientes A, B y C cuando se ejecuta la aplicación. Un grupo 130 de atributos asignados de usuario tendrá los atributos DATA_SCOPE 133, DATA_SCOPE 136 y USER_LEVEL 139, con valores de A, B y REGULAR, respectivamente. De acuerdo con los atributos, este usuario estará capacitado para acceder a datos relacionados con los clientes A o B, y estará capacitado para acceder a las características de la aplicación ABC que han sido predefinidas para un usuario de estado REGULAR. Un grupo 145 de atributos asignados de usuario tendrá acceso RESTRINGIDO a la aplicación ABC y se le permitirá el acceso a los datos relacionados con los clientes A y B. Un grupo 148 de atributos asignados de usuario permitirá un acceso RESTRINGIDO a la aplicación DEF y otorgará acceso a los datos relacionados con los clientes B y C.
Se pueden asignar uno o más grupos de atributos a los grupos asignados. En la Figura 2, el grupo 142 asignado, por ejemplo, puede consistir en grupos 145 y 148 de atributos, y puede incluir todos los pares de nombre-valor de atributo relacionados en las dos últimas columnas de la Tabla 3 que sigue:
TABLA 3
3
Los grupos asignados pueden estar también asignados a otros grupos asignados. Esto ha sido ilustrado en la Figura 2 mediante el grupo asignado 103, que incluye todos los atributos del grupo 142 asignado, así como todos los atributos de los grupos 130 y 115 de atributos. El grupo 100 asignado de la parte superior de la Figura, consiste en el grupo 103 asignado y en el grupo 106 de atributos. El grupo 100 asignado, por lo tanto, contiene todos los atributos de cada uno de los cinco grupos 130, 145, 148, 115 y 106 de atributos.
El sistema de agrupamiento de atributos resulta particularmente adecuado para asignar atributos a empleados con diferentes niveles de responsabilidad. Por ejemplo, los grupos 115, 130, 145 y 148 de atributos pueden estar asignados a empleados de nivel bajo o medio, mientras que los grupos 100, 103 y 142 asignados y el grupo 106 de atributos pueden estar asignados a personal de gestión cuya responsabilidad consiste en supervisar el trabajo de los empleados de nivel más bajo y, con respecto al grupo 106 de atributos, ejecutar sus propias aplicaciones.
En este sistema de agrupamiento, la asignación de atributos a los grupos de atributos, a los grupos asignados y a los usuarios, se mantienen en una tabla, ATRIBUTOS. La tabla de ATRIBUTOS tiene tres columnas: ASSIGNED, ATTRIBUTE_NAME y ATTRIBUTE_VALUE. ASSIGNED puede ser un nombre de grupo de atributos, un nombre de grupo asignado o un usuario. ATTRIBUTE_NAME es el nombre del atributo (por ejemplo, DATA_SCOPE). ATTRIBUTE_VALUE es un valor específico para el atributo nombrado (por ejemplo, TODOS).
La tabla de ATRIBUTOS se mantiene utilizando siete comandos básicos. Estos ejemplos de comandos se establecen a continuación como procedimientos Oracle® para su uso en un entorno de base de datos Oracle®. Los expertos en la materia podrán apreciar que se pueden derivar comandos análogos para otros entornos. En la descripciones que siguen, los parámetros están entre comillas simples y las cadenas literales están entre dobles comillas.
Comando Núm. 1
attr_utils.create_group (`group_name', `group_type', app_code)
`group_name':
nombre de grupo
`group_type':
"ATTRIBUTE" o "ASSIGNED"
`app_code':
si el `group_type' es "ATTRIBUTE", se requiere este campo; en otro caso, será ignorado.
Este procedimiento creará un grupo de tipo específico. Saldrá con un error si el `group_name' ya existe como grupo o como usuario de Oracle®.
De acuerdo con el procedimiento, los valores `group_name' y `group_type' se convierten al caso superior. A continuación, se inserta un registro con los siguientes valores de columna en la tabla ATRIBUTOS:
Establecer ASSIGNED = `group_name'
Establecer ATTRIBUTE_NAME = "ASSIGNED_TYPE"
Establecer ATTRIBUTE_VALUE = "ATTRIBUTE_GROUP" o
"ASSIGNEE_GROUP" en base al valor de `group_type'.
Adicionalmente, si el `group_type' es "ATTRIBUTE", entonces se insertará otro registro en la tabla de ATRIBUTOS, con los siguientes valores de columna:
Establecer ASSIGNEE = `group_name'
Establecer ATTRIBUTE_NAME = "APP_CODE"
Establecer ATTRIBUTE_VALUE = `app_code'.
Comando Núm. 2
attr_asig.utils_group (`assigned', `group_name')
`assigned':
usuario o grupo asignado que tendrá el `group_name' asignado.
`group_name':
grupo que ha de ser asignado al cesionario
Este procedimiento asignará un grupo a otro grupo o usuario. Se devolverá un error si el `assignee' no existe como grupo asignado o como usuario. También se devolverá un error si el `group_name' no existe.
Este procedimiento convertirá en primer lugar los valores de `asignado" y de `group_name" al caso superior. En segundo lugar, se inserta un registro con los siguientes valores de columna en la tabla de ATRIBUTOS:
Establecer ASSIGNEE = `assignee'
Establecer ATTRIBUTE_NAME = "ASSIGNED_GROUP"
Establecer ATTRIBUTE_VALUE = `group_name'.
Comando Núm. 3
attr_asign.utils_attribute (`assigned', `attribute_name', `attribute_value')
`assigned':
nombre de grupo de atributo. Éste debe ser un grupo de atributos
`attribute_name':
el nombre del atributo
`attribute_value':
el valor del atributo especificado
Este procedimiento asignará un atributo con el valor identificado, al `assignee'. Se devolverán errores si el cesionario no existe como grupo de atributos o si el attribute_name está reservado.
Este procedimiento convertirá en primer lugar los valores de `assignee' y `attribute_name' al caso superior, y a continuación insertará un registro, con los valores de columna que siguen, en la tabla ATRIBUTOS:
Establecer ASSIGNEE = `assignee'
Establecer ATTRIBUTE_NAME = `attribute_name'
Establecer ATTRIBUTE_VALUE = `attribute_value'.
Comando Núm. 4
attr_utils.drop_group (`group_name')
`group_name'':
nombre de grupo o usuario que serán borrados junto con todas las referencias a este grupo o usuario.
Este procedimiento eliminará un grupo o usuario junto todas las referencias al grupo o al usuario. Se devolverá un error si el `group_name' no existe.
Este procedimiento convertirá en primer lugar el valor `group_name' a un caso superior, y borrará a continuación todos los registros de la tabla de ATRIBUTOS en la que el valor de la columna ASSIGNEE se empareje con `group_name'. Adicionalmente, todos los registros de la tabla ATRIBUTOS que se emparejen con ambos criterios expuestos a continuación, serán borrados:
a. El valor de la columna ATTRIBUTE_NAME es "ASSIGNED_GROUP".
b. El valor de la columna ATTRIBUTE_VALUE se empareja con el de `group_name'.
Comando Núm. 5
atrt_utils.rescind_group (`assignee', `group_name')
`assignee':
grupo de usuario o cesionario que deberá tener el group_name rescindido
`group_name':
grupo que ha de ser rescindido del asignado.
Este procedimiento rescindirá el `group_name' especificado desde el `assignee'. Se devolverán errores si el
`group_name' o `assignee' no existen.
Este procedimiento convertirá en primer lugar `assignee' y `group_name' en un caso superior, y a continuación borrará todos los registros de la tabla de ATRIBUTOS que se emparejen con los tres criterios siguientes:
a. el valor de la columna ATTRIBUTE_NAME es "ASSIGNED_GROUP".
b. el valor de la columna ATTRIBUTE_VALUE se empareja con el de `group_name'.
c. el valor de la columna ASSIGNEE se empareja con el de `assignee'.
Comando Núm. 6
attr_rescind.utils_attribute (`assigned', `attribute_name')
`assigned':
nombre de grupo de atributos. Éste debe ser un grupo de atributos.
`attribute_name':
el nombre del atributo.
Este procedimiento rescindirá el `attribute_name' especificado del `assignee'. Se devolverán errores si el attribute_name o el asignado no existen, o si el attribute_name está reservado.
Este procedimiento convertirá en primer lugar el `assignee' y el `attribute_name' a un caso superior, y a continuación borrará todos los registros de tabla de ATRIBUTOS que se emparejen con ambos criterios que se exponen a continuación:
a. el valor de la columna ASSIGNEE se empareja con `assignee'
b. el valor de la columna NOMBRE DE ATRIBUTO se empareja con `attribute_name'.
Comando Núm. 7
attr_update.utils_attribute (`assignee', `attribute_name', `attribute_value')
`assigned':
nombre de grupo de atributos. Éste debe ser un grupo de atributos.
`attribute_name':
el nombre del atributo
`attribute_value':
el nuevo valor del atributo especificado.
Este procedimiento actualizará el `attribute_value' especificado para el `assignee' y `attribute_name' identificados. Se devolverán errores si el attribute_name o el assignee no existen, o si el attribute_name está reservado.
Este procedimiento convertirá en primer lugar `assignee' y `attribute_name' a un caso superior, y a continuación actualizará la tabla de ATRIBUTOS mediante el establecimiento de la columna de ATTRIBUTE_VALUE en `attribute_value' para todos los registros que se emparejen con ambos criterios que se exponen a continuación:
a. el valor de la columna ASSIGNEE se empareja con `assignee'.
b. el valor de la columna ATTRIBUTE_NAME se empareja con `attribute_name'.
Utilizando los comandos anteriores, se mantiene una tabla de ATRIBUTOS. Según se muestra en los comandos números 1 y 2, en la realización preferida, se utilizan varios ATTRIBUTEs_NAME reservados en la tabla de ATRIBUTOS para identificar la información específica que ha de ser usada dentro del sistema. Un ATTRIBUTE_NAME de "APP_CODE" se asigna automáticamente a un grupo de atributos para identificar la aplicación asociada a ese grupo. Un ATTRIBUTE_NAME de "ASSIGNED_GROUP" se utiliza para asignar atributos a grupos de atributos, para asignar grupos de atributos y grupos asignados a grupos asignados, y para asignar grupos de atributos y grupos asignados a usuarios. Se utiliza un ATTRIBUTE_NAME de "ASSIGNEE_TYPE " para identificar si un grupo es un grupo de atributos o un grupo cesionario. Los procedimientos validarán cualesquiera parámetros de ATTRIBUTE_NAME para verificar que no están reservados y devolverán un error si se hace algún intento de utilizar un ATTRIBUTE_NAME reservado.
A título de ejemplo, la porción de la tabla de ATRIBUTOS perteneciente a un grupo cesionario 142 de la Figura 2, aparecerá como se muestra en la Tabla 4:
TABLA 4
4
\vskip1.000000\baselineskip
En la realización alternativa de la invención, discutida en lo que antecede, donde los grupos de atributos no están limitados a aplicaciones particulares, el procedimiento create_group no requerirá una entrada de `app_code', y los atributos APP_CODE no serán mantenidos en la tabla de ATRIBUTOS. El acceso a las aplicaciones de ventas, sin embargo, podría aún ser controlado con la utilización de una tabla adicional que asigne APPs_CODE directamente a los usuarios. Si no se hubiera asignado un APP_CODE particular a un usuario, la aplicación correspondiente sería completamente inaccesible para el usuario.
Jerarquía Padre-Hijo
La capacidad de asignar a un grupo asignado simple múltiples grupos de atributos y/o de grupos asignados, da como resultado la asignación a un grupo o un usuario, de valores de solapamiento, repetitivos e incluso de conflicto para el mismo atributo. Por ejemplo, el grupo 100 de cesionario, mostrado en la parte superior de la Figura 2, incluye cada atributo de la Figura, y por lo tanto, según se muestra en la Tabla 4 anterior, incluye los mismos valores B, C y TODOS, diferentes de la aplicación DEF para el atributo DATA_SCOPE y valores REGULAR y RESTRINGIDO diferentes para el atributo USER_LEVEL. Por esta razón, en una realización preferida, se establecen normas de jerarquía de atributo en las que para cada valor de atributo, se asigna un "valor padre" de modo que, por ejemplo, el valor B para el atributo DATA_SCOPE es asignado al valor padre TODOS. En la práctica, cuando se llaman los atributos asignados del usuario y tanto el valor padre como el valor hijo para el mismo atributo y la misma aplicación se encuentran presentes, se mantendrá el valor padre y se desechará el valor hijo. Adicionalmente, los valores repetitivos serán descartados.
Las asignaciones padre-hijo se mantienen en la tabla ATTRIBUTE_LEVELS que tiene tres columnas: ATTRIBUTE_NAME, CHILD_VALUE y PARENT_VALUE. El ATTRIBUTE_NAME es el nombre del atributo (por ejemplo, DATA_SCOPE). El CHILD_VALUE es el valor real del atributo (por ejemplo, C). El PARENT_VALUE es el valor del que el valor real es un subconjunto (por ejemplo, TODOS). Para el caso en que el valor real sea el más alto de la jerarquía, por ejemplo TODOS, el valor padre asignado es CERO.
La tabla de ATTRIBUTE_LEVELS se mantiene utilizando comandos básicos. Estos ejemplos de comando se establecen en lo que sigue como procedimientos Oracle® para su uso en un entorno de base de datos Oracle®. Los expertos en la materia podrán apreciar que se pueden derivar comandos análogos para otros entornos de base de datos. Obsérvese que en las descripciones que siguen, los parámetros están entre comillas simples y las cadenas literales están entre comillas dobles.
Comando Núm. 1
attr_add.utils_attr_level (`attribute_name', `child_value', `parent_value')
`attribute_name':
el nombre del atributo
`child_value':
el valor hijo para el `attribute_name' especificado
`parent_value':
el valor padre para el `child_value' especificado para el `attribute_name' especificado.
Este procedimiento añadirá un nuevo nivel de atributo para os parámetros especificados. El `parent_value' puede ser "CERO" si el `child_value' tiene el nivel de autoridad más alto del `attribute_name' especificado. Se devolverán errores si el valor padre no es nulo y no existe.
Este procedimiento convierte en primer lugar el `attribute_name' al caso superior, y a continuación inserta un registro con los siguientes valores de columna en la tabla ATRIBUTE_LEVELS:
Establecer ATTRIBUTE_NAME = `attribute_name'
Establecer CHILD_VALUE = `child_value'
Establecer PARENT_VALUE = `patent_value'
Comando Núm. 2
attr_update.utils_attr_level (`attribute_name', `child_value', `parent_value')
`attribute_name':
el nombre del atributo
`child_value':
el valor hijo para el attribute_name especificado
`parent_value':
el valor padre del valor hijo especificado para el nombre de atributo especificado.
Este procedimiento actualizará el valor padre para los parámetros especificados. El `parent_value' puede ser "NULO" si el `child_value' tiene el valor más alto de autoridad del `attribute_name' especificado. Se devolverán errores si el valor padre no es nulo y si no existe, y si la combinación attribute_name y child_value no existe.
Este procedimiento convierte en primer lugar el `attribute_name' al caso superior y a continuación actualiza la tabla ATTRIBUTE_LEVELS estableciendo el valor de la columna PARENT_VALUE en `parent_value' para todos los registros que se emparejen con ambos criterios que siguen:
a. el valor de la columna ATTRIBUTE_NAME se empareja con `attribute_name'.
b. el valor de la columna CHILD_VALUE se empareja con `child_value''.
Comando Núm. 3
attr_delete.utils_attr_levels (`attribute_name', `child_value')
`attribute_name':
el nombre del atributo
`child_value':
el valor hijo para el attribute_name especificado.
Este procedimiento borrará el nivel de atributo y los niveles de todos los atributos hijo para los parámetros especificados. Se devolverán errores si no existe la combinación.
Este procedimiento convertirá en primer lugar el `attribute_name' al caso superior, y a continuación borrará todos los registros de la tabla ATTRIBUTE_LEVELS que sean "hijos" del par mencionado de `attribute_name' y `child_value'. A título de ejemplo, se podría utilizar el establecimiento SQL que sigue para llevar a cabo las dos primeras etapas:
BORRAR NIVELES DE ATRIBUTO
DONDE (ATTRIBUTE_NAME, CHILD_VALUE) EN
(SELECCIONAR ATTRIBUTE_NAME, CHILD_VALUE A PARTIR DE ATTRIBUTE_LEVELS
INICIAR CON PARENT_VALUE=P_CHILD_VALUE
Y ATTRIBUTE_NAME=UPPER (P_ ATTRIBUTE_NAME)
CONECTAR MEDIANTE PARENT_VALUE=CHILD_VALUE ANTERIOR
Y ATTRIBUTE_NAME=ATTRIBUTE_NAME ANTERIOR).
Este procedimiento borrará todos los registros de la tabla NIVELES_ATRIBUTO que se emparejen con ambos criterios siguientes:
a. el valor de la columna ATTRIBUTE_NAME se empareja con `attribute_name'.
b. el valor de la columna CHILD_VALOR se empareja con `child_value'.
Comando Núm. 4
attr_delete.utils_all_levels (`attribute_name')
`attribute_name':
el nombre del atributo
Este procedimiento borrará todos los niveles de atributo para el attribute_name especificado. Se devolverán errores si attribute_name no existe.
Este procedimiento convertirá en primer lugar el `attribute_name' al caso superior y a continuación borrará todos los registros de la tabla ATTRIBUTE_LEVELS en la que el valor de la columna ATTRIBUTE_NAME se empareje con `attribute_name'.
Utilizando los comandos que anteceden, se mantiene una tabla de ATTRIBUTE_LEVELS. A título de ejemplo, una tabla de ATTRIBUTE_LEVELS para los atributos de muestra discutidos en lo que antecede, aparecerá como en la tabla 5 que sigue:
TABLA 5
5
\newpage
De acuerdo con la Tabla 5, las asignaciones del atributo DATA_SCOPE que tienen valores A, B o C, serán descartados si se asigna un DATA_SCOPE de TODOS al mismo usuario para la misma aplicación. De manera similar, la asignación de valores de USER_LEVEL será descartada en favor del valor más alto asignado.
Con preferencia, si se asigna un valor de atributo en la tabla de ATRIBUTOS, pero no está definido en la tabla de ATTRIBUTE_LEVELS, entonces será tratado como si estuviera definido en la tabla ATTRIBUTE_LEVELS con un valor padre NULO, y sin ningún otro valor que tenga el valor asignado como su valor padre.
Se puede obtener una minimización adicional reconociendo que un conjunto completo de valores asignados a un nivel inferior, puede ser sustituido por el valor de nivel más alto. Por ejemplo, si se asignan valores de DATA_SCOPE de A, B y C, el sistema podría devolver el valor TODOS. Esta minimización debe ser realizada solamente si el conjunto completo de valores de nivel inferior representa realmente la misma cosa que el valor de nivel más alto, puesto que es posible que el valor de nivel más alto pudiera representar más que la suma de los valores de nivel inferior.
Operación del Sistema de Atributos de Usuario
En la discusión que sigue se va a hacer referencia a la Figura 3 en relación con un ejemplo de uso del sistema de atributos de usuario de la presente invención. De acuerdo con una realización preferida de la invención, el acceso a la aplicación que se está ejecutando en el entorno de una base de datos está controlado por una interfaz de usuario gráfica inicial (IGUI). Ejemplos de IGUIs incluyen páginas domésticas de sitios web y páginas de arranque de red de área local.
Con anterioridad a lograr el acceso a las aplicaciones, sin embargo, un usuario inicia el procedimiento típicamente en un sistema de ordenador, mostrado en la casilla 201, en cuyo instante el sistema de ordenador deberá reconocer al usuario si el inicio del procedimiento se ha completado correctamente. En la casilla 204, el IGUI recupera las aplicaciones disponibles para el usuario. En la realización preferida, el IGUI hace esto accediendo a la tabla ATRIBUTOS, según la flecha 205, la cual contiene las asignaciones de grupo para el usuario. Según se ha discutido en lo que antecede, en la realización preferida, las asignaciones de grupo incluyen asignaciones de grupo de atributos que, a su vez, incluyen la especificación de las aplicaciones disponibles. En un sistema de base de datos Oracle®, en vez de buscar la tabla de ATRIBUTOS completa que puede ser bastante considerable, se pueden preparar las "vistas" que contienen las búsquedas de los resultados de uso frecuente (por ejemplo, los atributos para un usuario particular) que es probable que se utilicen de nuevo una y otra vez. En la realización alternativa en la que los atributos no están limitados a las aplicaciones específicas, las aplicaciones disponibles para un usuario particular pueden ser almacenadas en, y recuperadas desde, una tabla separada.
Mediante la flecha 205, el IGUI accederá también a la tabla APPS de aplicaciones válidas que contiene una columna APP_CODE para indicar al IGUI qué cadena de caracteres presentar al usuario en la casilla 207, donde el IGUI presenta al usuario las aplicaciones disponibles. En la casilla 210, el usuario elige una de las aplicaciones disponibles. En la casilla 213, el IGUI accede a la tabla ATRIBUTOS, según la flecha 214, y recupera los atributos del usuario para la aplicación elegida. De nuevo, en un sistema de base de datos Oracle®, se puede utilizar una visualización Oracle® para recuperar los atributos. Adicionalmente, el IGUI puede acceder a la tabla de ATTRIBUTE_LEVELS para reducir el número de atributos.
Según la flecha 215, el IGUI pasa los atributos relevantes a la aplicación y, en la casilla 216, se ejecuta la aplicación, con la aplicación imponiendo los atributos. Si el usuario intenta exceder los límites de acceso según se ha definido mediante los atributos, un error o una aviso puede ser enviado.
Los expertos en la materia apreciarán que, en una realización alternativa, una aplicación puede recuperar los atributos directamente, sin la ayuda de un IGUI, e imponer los atributos.
Vistas
Según se ha discutido anteriormente, se pueden utilizar vistas Oracle® en la presente invención para recuperar y organizar registros a partir de las tablas. Lo que sigue es un listado de doce vistas que se ha encontrado que son útiles para la implementación de la invención. Se proporciona una explicación de cada vista y un ejemplo de SQL.
Vista Núm. 1
V_ATTRIBUTE_APP_CODES
Esta vista devolverá una lista de códigos de aplicación distintos establecidos en el sistema de atributos de usuario. La vista realiza un SELECCIONAR con la cláusula DISTINTO para registros en los que el ATTRIBUTE_NAME es el ATTRIBUTE_NAME reservado de `APP_CODE'.
\newpage
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_ATTRIBUTE_APP_CODES COMO
SELECCIONAR ASSIGNEE DISTINTO,
ATTRIBUTE_VALUE APP_CODE
DESDE ATRIBUTOS
DONDE ATTRIBUTE_NAME = `APP_CODE'
\vskip1.000000\baselineskip
Vista Núm. 2
V_ATTRIBUTE_GROUPS_ATTR
Esta vista devolverá una lista de todos los grupos de atributos distintos. Esta vista realiza un SELECCIONAR con la cláusula DISTINTO para registros en los que el ATTRIBUTE_NAME es el ATTRIBUTE_NAME reservado de `ASSIGNEE_TYPE' y el ATTRIBUTE_VALUE es `ATTRIBUTE_GROUP'.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_ATTRIBUTE_GROUPS_ATTR
COMO SELECCIONAR GROUP_NAME DE ASSIGNEE DISTINTO
DESDE ATRIBUTOS
DONDE ATTRIBUTE_NAME = `ASSIGNEE_TYPE'
Y ATTRIBUTE_VALUE = `ATTRIBUTE_GROUP'
\vskip1.000000\baselineskip
Vista Núm. 3
V_ATTRIBUTE_GROUPS_ASSIGN
Esta vista devolverá una lista de todos los grupos cesionarios distintos. Esta vista realiza un SELECCIONAR con la cláusula DISTINTO para registros donde el ATTRIBUTE_NAME es el ATTRIBUTE_NAME reservado de `ASSIGNEE_TYPE' y el ATTRIBUTE_VALUE es `ASSIGNEE_GROUP'.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA
V_ATTRIBUTE_GROUPS_ASSIGN COMO
SELECCIONAR GROUP_NAME DE CESIONARIO DISTINTO
DESDE ATRIBUTOS
DONDE ATTRIBUTE_NAME = `ASSIGNEE_TYPE'
Y ATTRIBUTE_VALUE = `ASSIGNEE_GROUP'
\vskip1.000000\baselineskip
Vista Núm. 4
V_ATTRIBUTE_USERS
Esta vista devolverá una lista de todos los usuarios de atributos distintos. Esta vista realiza un SELECCIONAR con la cláusula DISTINTO para registros en los que el ASSIGNEE es igual al USERNAME encontrado en la tabla ALL_USERS del Diccionario de Datos de Oracle.
\newpage
\global\parskip0.920000\baselineskip
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_ATTRIBUTE_USERS COMO
SELECCIONAR USERID DE ASSIGNEE DISTINTO
DESDE ATRIBUTOS,
ALL_USERS
DONDE ASSIGNEE = USERNAME
\vskip1.000000\baselineskip
Vista Núm. 5
V_ATTRIBUTE_GROUPS_ALL
Esta vista devolverá una lista de todos los grupos distintos del sistema. Esto incluye tanto los grupos de atributos como de Cesionario. Esta vista realiza un SELECCIONAR con la cláusula DISTINTO para un registro donde el ASSIGNEE no es el usuario del atributo.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_ATTRIBUTE_GROUPS_ALL COMO
SELECCIONAR GROUP_NAME DE ASSIGNEE DISTINTO
DESDE ATRIBUTOS,
V_ATTRIBUTE_USERS
DONDE ASSIGNEE = USERID(+)
Y USERID ES NULO
\vskip1.000000\baselineskip
Vista Núm. 6
V_USER_GROUPS
Esta vista devolverá una lista de todos los grupos asignados al usuario conectado actualmente a Oracle. Los resultados incluyen los grupos asignados directamente al usuario, así como también los grupos asignados indirectamente al usuario. Es decir, grupos que están asignados a los GRUPOS ASSIGNEE que están asignados al usuario. Esta vista realiza un tipo de árbol de familia de preguntas que utilizan la cláusula CONECTAR POR.
Ejemplo SQL.
CREAR O SUSTITUIR VISTA V_USER_GROUPS COMO
SELECCIONAR USER_NAME, ATTRIBUTE_VALUE
DESDE ATRIBUTOS
DONDE ATTRIBUTE_NAME = `ASSIGNEE_TYPE'
EMPEZAR CON ASSIGNEE = USER
CONECTAR POR ASSIGNEE = ATTRIBUTE_VALUE ANTERIOR
Y ATTRIBUTE_NAME = `ASSIGNED_GROUP'
\vskip1.000000\baselineskip
Vista Núm. 7
V_USER_ATTR_APPS
Esta vista devolverá una lista de todos los atributos asignados al usuario conectado actualmente a Oracle junto con el correspondiente APP_CODE. Esta vista combinará la lista de grupos asignados al usuario (V_USER_GROUPS), la tabla ATRIBUTOS, y la lista de ATTRIBUTE_GROUPS con los correspondientes valores de APP_CODE
(V_ATTRIBUTE_APP_CODES).
\global\parskip0.990000\baselineskip
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_USER_ATTR_APPS COMO
SELECCIONAR ATTR.ATTRIBUTE_NAME,
ATTR.ATTRIBUTE_VALUE,
APPS.APP_CODE
DESDE LOS GRUPOS V_USER_GROUPS,
ATRIBUTOS ATTR.,
V_ATTRIBUTE_APP_CODES APPS
DONDE GROUPS.ATTRIBUTE_VALUE = ATTR.ASSIGNEE
Y ASSIGNEE.ATTR = ASSIGNEE.APPS
Y ATTRIBUTE.ATTR_NAME NO ESTÁ EN
(`ASSIGNED_GROUP', `APP_CODE', `ASSIGNEE_TYPE')
\vskip1.000000\baselineskip
Vista Núm. 8
V_USER_ATTR_HIGHEST_VALUES
Esta vista devolverá una lista de VALORes_ATRIBUTO del más alto nivel para los ATTRIBUTE_NAMEs correspondientes. Esta vista puede contener entradas duplicadas, de modo que la vista V_USER_ATTRIBUTES que se discute en lo que sigue, recuperará una lista de estos distintos valores. Esta vista pasará el APP_CODE, ATTRIBUTE_NAME y ATTRIBUTE_VALUE para cada atributo asignado al usuario actual, a la función ATTR_
UTILS.HIGHEST_VALUE. Una función es igual que un procedimiento, salvo en el hecho de que puede ser ejecutada como parte de una pregunta y devolver un valor.
Aquí, la función devolverá el valor padre más alto asignado actualmente al usuario. Una descripción de esta función sigue al ejemplo SQL para esta vista.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA
V_USER_ATTR_HIGHEST_VALUES COMO
SELECCIONAR APP_CODE,
ATTRIBUTE_NAME,
SUSTR( ATTR_UTILS.HIGHEST_VALUE (APP_CODE,
ATTRIBUTE_NAME, ATTRIBUTE_VALUE), 1,30)
ATTRIBUTE_VALUE
DESDE V_USER_ATTR_APPS;
La función ATTR_UTILS.HIGHEST_VALUE requiere tres entradas: el APP_CODE, el ATTRIBUTE_NAME y el ATTRIBUTE_VALUE. La función cargará en primer lugar una tabla de valor de atributo interna consistente en todos los valores de atributos asignados a un usuario dado, APP_CODE y ATTRIBUTE_NAME. La función puede utilizar una de las vistas existentes para esto (es decir, V_USER_ATTR_LEVELS_VALUE).
La función utilizará entonces el valor de atributo actual y encontrará todos los registros padre para este valor. La función utilizará una cuestión SQL que se asemeja a lo que sigue:
SELECCIONAR PARENT_VALUE
DESDE ATTRIBUTE_LEVELS
DONDE ATTRIBUTE_NAME = P_ ATTRIBUTE_NAME
INICIAR CON CHILD_VALUE = P_ ATTRIBUTE_VALUE
CONECTAR MEDIANTE CHILD_VALUE = PARENT_VALUE ANTERIOR
ORDENAR POR NIVEL.
La función comparará a continuación cada valor padre con los registros de la tabla de valores de atributo para determinar si uno u otro de los valores de atributos asignados es un registro padre, es decir, un padre, abuelo, etc, del valor de atributo actual. Si es así, se devuelve el valor de atributo de nivel más alto. En otro caso, se devuelve el valor de atributo actual.
\vskip1.000000\baselineskip
Vista Núm. 9
V_ATTR_LEVELS_VALUE
Esta vista devolverá una lista de ATTRIBUTE_LEVELS, los ATTRIBUTE_VALUEs asociados, y el nivel correspondiente del valor. Por ejemplo, el nivel más alto de un ATTRIBUTE_VALUE será un ATTRIBUTE_LEVEL de 1, mientras que los hijos de ese valor tendrán valores de 2. Esta vista realiza tres tipos de familias de preguntas utilizando la cláusula CONECTAR POR.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_ATTR_ LEVELS_VALUE COMO
SELECCIONAR ATTRIBUTE_NAME,
CHILD_VALUE ATTRIBUTE_VALUE,
NIVEL VALUE_LEVEL
DESDE ATTRIBUTE_LEVELS
INICIAR CON PARENT_VALUE ES NULO
CONECTAR POR PARENT_VALUE = CHILD_VALUE ANTERIOR
Y ATTRIBUTE_NAME = ATTRIBUTE_NAME ANTERIOR.
\vskip1.000000\baselineskip
Vista Núm. 10
V_USER_ATTR_VALUE_LEVELS
Esta vista devolverá una lista de todos los atributos asignados al usuario y a su nivel correspondiente. Esta vista combinará la lista de atributos asignados al usuario conectado actualmente a Oracle (V_USER_ATTR_APPS) y la lista de atributos y sus niveles correspondientes (V_ATTR_VALUE_LEVELS).
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_USUARIO_ATTR_VALUE_LEVELS
COMO SELECCIONAR APP_CODE,
ATTR.ATTRIBUTE_NAME
ATTR.ATRIBUTE_VALUE,
NVL( NIVEL_VALOR, 1) NIVEL_VALOR
DESDE V_USER_ATTR_APPS ATTR,
V_ATTR_VALUE_LEVELS LVL
DONDE
ATTR.ATTRIBUTE_NAME = LVL.ATTRIBUTE_NAME(+)
Y
ATTR.ATTRIBUTE_VALUE = LVL.ATTRIBUTE_VALUE(+)
\vskip1.000000\baselineskip
Vista Núm. 11
V_USER_APP_CODES
Esta vista devolverá una lista de todos los distintos CODEs_APP que le han sido asignados al usuario actual. Esta vista realiza tres tipos de familias de preguntas utilizando la cláusula CONECTAR POR.
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_USER_APP_CODES COMO
SELECCIONAR ATTR.ATTRIBUTE_VALUE APP_CODE DISTINTO
DESDE GRUPOS (SELECCIONAR ATTRIBUTE_NAME,
ATTRIBUTE_VALUE
DESDE ATRIBUTOS
INICIAR CON ASSIGNEE = USER
CONECTAR POR ASSIGNEE = ATTRIBUTE_VALUE ANTERIOR
Y ATTRIBUTE_NAME = `ASSIGNED_GROUP'),
ATRIBUTOS ATTR
DONDE GROUPS.ATTRIBUTE_VALUE = ATTR.ASSIGNEE
Y ATTR.ATTRIBUTE_NAME = `APP_CODE'.
\vskip1.000000\baselineskip
Vista Núm. 12
V_USER_ATTRIBUTES
Esta vista devolverá una lista de todos los atributos asignados al usuario junto con sólo los ATTRIBUTE_VALUEs de nivel más alto para los ATRIBUTE_NAMEs correspondientes. Esta vista realiza un SELECCIONAR DISTINTO sobre los V_USER_ATTR_HIGHEST_VALUES (V.USER_ATTR_VALUE_LEVELS)
Ejemplo SQL:
CREAR O SUSTITUIR VISTA V_USER_ATRIBUTES COMO
SELECCIONAR DISTINTO
APP_CODE,
ATTRIBUTE_NAME,
ATTRIBUTE_VALUE,
DESDE V_USER_ATTR_HIGHEST_VALUES.
En un entorno Oracle®, con el fin de asegurar que los datos de las tablas ATRIBUTOS y ATTRIBUTE_LEVELS se mantienen correctamente, es preferible que se utilicen los procedimientos Oracle® para realizar cualquier mantenimiento sobre los atributos de usuario. Esto puede ser garantizado limitando el acceso a los diferentes objetos, por ejemplo, tablas, vistas, procedimientos y funciones, en el sistema de atributos de usuario. Se dará una autoridad de sólo lectura a las tablas de ATRIBUTOS y ATTRIBUTE_LEVELS, y a todas las visualizaciones. La capacidad de ejecutar la autoridad en los procedimientos Oracle® utilizados para mantener estas tablas, solamente deberá proporcionarse al (a los) administrador(es) de atributos de usuario. Esto asegurará que los usuarios no autorizados no estarán capacitados para manipular los atributos ni los niveles de atributos.

Claims (18)

1. Un procedimiento para definir un acceso de usuario a al menos una característica en un sistema (5) de ordenador, designando dicha característica una función de aplicación, estando dicho sistema de ordenador capacitado para ejecutar al menos una aplicación y mantener una base de datos (8), teniendo cada aplicación al menos una característica, comprendiendo el procedimiento las etapas de:
asignar al menos dos atributos a dicho usuario, estando uno de los atributos relacionado con la capacidad para acceder a los datos y estando uno de los atributos relacionado con la capacidad para manipular los datos a los que se ha tenido acceso;
almacenar dichos al menos dos citados atributos en una primera tabla (11) en dicha base de datos (8);
ejecutar una aplicación en dicho sistema de ordenador;
recuperar desde dicha primera tabla (11), dos o más de dichos al menos dos atributos asignados al usuario, estando uno de los atributos recuperados relacionado con la capacidad para acceder a los datos y estando uno de los atributos recuperados relacionado con la capacidad para manipular los datos a los que se ha accedido, e
imponer los atributos recuperados, con lo que se define el acceso del usuario a lo datos y la capacidad para manipular los datos a los que ha accedido, de acuerdo con los atributos recuperados.
2. El procedimiento de la reivindicación 1, en el que más de una de las al menos dos características están relacionadas con la capacidad para acceder a los datos.
3. El procedimiento de la reivindicación 1, que comprende, con anterioridad a la etapa de ejecutar, las etapas adicionales de:
asignar un valor padre a cada valor real de dichos al menos dos atributos, con lo que se crea una o más relaciones padre-hijo, y
almacenar dichas una o más relaciones de valores padre-hijo en una segunda tabla (15) de dicha base de datos (8);
comprendiendo además dicho procedimiento, con anterioridad a la etapa de imponer, las etapas adicionales de:
recuperar dichas una o más relaciones de valores padre-hijo desde la citada segunda tabla (15), y
determinar si alguno de los atributos recuperados puede ser descartado de acuerdo con las relaciones de valores padre-hijo recuperadas.
4. El procedimiento de la reivindicación 1, que comprende además:
proporcionar los atributos recuperados a dicha aplicación de ejecutar.
5. El procedimiento de la reivindicación 4, que comprende además, con anterioridad a la etapa de ejecutar, la etapa adicional de proporcionar a dicho usuario una opción de una o más aplicaciones a ejecutar de acuerdo con los al menos dos atributos asignados a dicho usuario.
6. El procedimiento de la reivindicación 4, en el que más de una de las al menos dos características está relacionadas con la capacidad para acceder a los datos.
7. El procedimiento de la reivindicación 4 que comprende, con anterioridad a la etapa de ejecutar, las etapas adicionales de:
asignar un valor padre a cada valor real de dichos al menos dos atributos, y
almacenar las relaciones de valores padre-hijo en una segunda tabla de dicha base de datos;
comprendiendo además dicho procedimiento, con anterioridad a la etapa de imponer, las etapas adicionales de:
recuperar las citadas relaciones de valores padre-hijo a partir de la citada segunda tabla y,
determinar si alguno de los atributos recuperados puede ser descartado de acuerdo con las relaciones padre-hijo recuperadas.
8. El procedimiento de la reivindicación 1, que comprende además:
asignar al menos un atributo a un grupo (106);
asignar dicho grupo (106) a al menos un usuario;
almacenar dicho grupo (106) en una tabla (15) de dicha base de datos (8);
ejecutar una aplicación en dicho sistema (5) de ordenador;
recuperar dicho grupo (106) asignado a dicho usuario a partir de la citada tabla (15) de datos, e
imponer los atributos recuperados, con lo que se define el acceso del usuario a la citada al menos una característica de dicha aplicación de acuerdo con el citado al menos un atributo asignado a dicho grupo (106) recuperado desde la citada tabla (15) de datos.
9. El procedimiento de la reivindicación 8, en el que dichos al menos dos atributos asignados a dicho grupo definen el acceso solamente a la citada aplicación.
10. Un sistema (5) de ordenador, que comprende:
medios para ejecutar una aplicación, teniendo dicha aplicación al menos una característica que designa una función de aplicación,
medios para mantener una base de datos (8);
medios para asignar al menos dos atributos a un usuario, estando uno de los atributos relacionado con la capacidad para acceder a los datos, y estando uno de los atributos relacionado con la capacidad para manipular los datos a los que se ha accedido;
medios para almacenar dichos al menos dos atributos en una primera tabla (11) de la citada base de datos (8);
medios para recuperar desde la citada primera tabla (11), dichos al menos dos atributos asignados al usuario, y
medios para imponer los atributos recuperados, con lo que el acceso del usuario a los datos y la capacidad para manipular los datos a los que ha tenido acceso se definen de acuerdo con dichos al menos dos atributos asignados al usuario.
11. El sistema de la reivindicación 10, en el que más de una de las al menos dos características están relacionadas con la capacidad para acceder a los datos.
12. El sistema de la reivindicación 10, que comprende además:
medios para asignar un valor padre a cada valor real de dichos al menos dos atributos, con lo que se crea una o más relaciones padre-hijo;
medios para almacenar dichas una o más relaciones de valores padre-hijo en una segunda tabla (15) de la citada base de datos (8);
medios para recuperar dichas una o más relaciones de valores padre-hijo desde la citada segunda tabla (15), y
medios para determinar si alguno de los atributos recuperados puede ser descartado de acuerdo con las citadas relaciones de valores padre-hijo.
13. El sistema de la reivindicación 10, que comprende además:
medios para proporcionar los atributos recuperados a la citada aplicación.
14. El sistema de la reivindicación 13, que comprende además medios para proporcionar a dicho usuario una opción de una o más aplicaciones a ejecutar de acuerdo con dichos al menos dos atributos asignados a dicho usuario.
15. El sistema de la reivindicación 13, en el que más de una de las al menos dos características se relacionan con la capacidad para acceder a los datos.
16. El sistema de la reivindicación 13, que comprende además:
medios para asignar un valor padre para cada valor real de dichos al menos dos atributos;
medios para almacenar relaciones de valores padre-hijo en una segunda tabla de dicha base de datos;
medios para recuperar las citadas relaciones de valores padre-hijo a partir de dicha segunda tabla, y
medios para determinar si alguno de los atributos recuperados puede ser descartado de acuerdo con las relaciones de valores padre-hijo recuperadas.
17. El sistema de ordenador de la reivindicación 10, que comprende además:
medios para asignar al menos dos atributos a un grupo (106), estando uno de los atributos relacionado con la capacidad para acceder a los datos y estando uno de los atributos relacionado con la capacidad para manipular los datos a los que se ha accedido;
medios para asignar dicho grupo (106) a un usuario;
medios para almacenar dicho grupo (106) en una tabla (15) de la citada base de datos (8);
medios para recuperar, desde dicha tabla de datos, el citado grupo asignado a dicho usuario, y
medios para imponer los atributos recuperados, con lo que el acceso del usuario a los datos y la capacidad para manipular los datos a los que ha accedido, se definen de acuerdo con dichos al menos dos atributos asignados a dicho grupo (106) recuperados desde la citada tabla (15) de datos.
18. El sistema de la reivindicación 17, en el que dichos al menos dos atributos asignados a dicho grupo definen el acceso solamente a la citada aplicación.
ES99934061T 1998-07-17 1999-07-15 Sistema y procedimiento para definir selectivamente el acceso a las caracteristicas de una aplicacion. Expired - Lifetime ES2280123T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US118621 1998-07-17
US09/118,621 US6430549B1 (en) 1998-07-17 1998-07-17 System and method for selectivety defining access to application features

Publications (1)

Publication Number Publication Date
ES2280123T3 true ES2280123T3 (es) 2007-09-01

Family

ID=22379742

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99934061T Expired - Lifetime ES2280123T3 (es) 1998-07-17 1999-07-15 Sistema y procedimiento para definir selectivamente el acceso a las caracteristicas de una aplicacion.

Country Status (20)

Country Link
US (2) US6430549B1 (es)
EP (1) EP1108238B1 (es)
JP (1) JP4571746B2 (es)
KR (3) KR100692330B1 (es)
CN (1) CN1318163B (es)
AT (1) ATE352071T1 (es)
AU (1) AU757061B2 (es)
BG (1) BG64962B1 (es)
BR (1) BR9912119A (es)
CA (1) CA2336987A1 (es)
DE (1) DE69934894T2 (es)
EA (1) EA003618B1 (es)
ES (1) ES2280123T3 (es)
HR (1) HRP20010029B1 (es)
HU (1) HUP0301138A2 (es)
IL (1) IL140906A0 (es)
NZ (1) NZ509240A (es)
PL (1) PL345904A1 (es)
WO (1) WO2000004435A1 (es)
YU (1) YU2701A (es)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430549B1 (en) * 1998-07-17 2002-08-06 Electronic Data Systems Corporation System and method for selectivety defining access to application features
US6988138B1 (en) * 1999-06-30 2006-01-17 Blackboard Inc. Internet-based education support system and methods
US7908602B2 (en) 1999-06-30 2011-03-15 Blackboard Inc. Internet-based education support system, method and medium providing security attributes in modular, extensible components
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
JP4718662B2 (ja) * 2000-03-24 2011-07-06 株式会社東芝 コンピュータシステム
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US20030021417A1 (en) 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
EP1350167A4 (en) * 2000-11-16 2007-10-24 Dlj Long Term Invest Corp SYSTEM AND METHOD FOR SAFETY AT THE APPLICATION LEVEL
GB2383147B (en) * 2001-12-13 2005-04-06 Inventec Corp Method for integrating multiple web servers based on individual client authorisation
US7020653B2 (en) * 2002-11-06 2006-03-28 Oracle International Corporation Techniques for supporting application-specific access controls with a separate server
JP2004302516A (ja) * 2003-03-28 2004-10-28 Ntt Docomo Inc 端末装置およびプログラム
US20040249674A1 (en) * 2003-05-06 2004-12-09 Eisenberg Floyd P. Personnel and process management system suitable for healthcare and other fields
US20050097343A1 (en) * 2003-10-31 2005-05-05 Michael Altenhofen Secure user-specific application versions
EP1560139A1 (en) * 2004-01-30 2005-08-03 Jaffe Associates LLC Computer-based system and method of designating content for presentation to a target entity
US9407963B2 (en) * 2004-02-27 2016-08-02 Yahoo! Inc. Method and system for managing digital content including streaming media
US8225221B2 (en) * 2004-04-12 2012-07-17 Microsoft Corporation Method and apparatus for constructing representations of objects and entities
US20060053035A1 (en) * 2004-09-09 2006-03-09 Eisenberg Floyd P Healthcare personnel management system
JP4643213B2 (ja) * 2004-09-29 2011-03-02 シスメックス株式会社 アプリケーションプログラムの使用制限方法、測定装置のユーザ認証システム、認証サーバ、クライアント装置、及びアプリケーションプログラム
WO2006039516A2 (en) 2004-09-30 2006-04-13 Millennium It (Usa) Inc. System and method for configurable trading system
US7567973B1 (en) * 2005-08-05 2009-07-28 Google Inc. Storing a sparse table using locality groups
US7668846B1 (en) 2005-08-05 2010-02-23 Google Inc. Data reconstruction from shared update log
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US8621549B2 (en) * 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US9942271B2 (en) 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US8677499B2 (en) 2005-12-29 2014-03-18 Nextlabs, Inc. Enforcing access control policies on servers in an information management system
US7783686B2 (en) * 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
US8413110B2 (en) * 2007-04-25 2013-04-02 Kai C. Leung Automating applications in a multimedia framework
US9214090B2 (en) 2007-06-11 2015-12-15 Distance EDU Learning, Inc. Computer systems for capturing student performance
US8326211B1 (en) 2007-06-11 2012-12-04 Distance EDU Learning, Inc. Computer systems for capturing student performance
US20100017246A1 (en) * 2008-07-20 2010-01-21 Farrell Glenn H Software user interface for specification of project task dependencies and deadlines
US8484351B1 (en) 2008-10-08 2013-07-09 Google Inc. Associating application-specific methods with tables used for data storage
US9400879B2 (en) * 2008-11-05 2016-07-26 Xerox Corporation Method and system for providing authentication through aggregate analysis of behavioral and time patterns
US8255820B2 (en) 2009-06-09 2012-08-28 Skiff, Llc Electronic paper display device event tracking
CN102822825A (zh) * 2010-03-31 2012-12-12 日本电气株式会社 分组装置、计算机可读记录介质和分组方法
US20170171292A1 (en) * 2015-12-11 2017-06-15 Quixey, Inc. Generating Software Application Search Results Using Shared Application Connections
US10657239B2 (en) 2017-05-25 2020-05-19 Oracle International Corporation Limiting access to application features in cloud applications
EP3765988A1 (en) 2018-03-12 2021-01-20 Twilio, Inc. Customizable cloud-based software platform
US11609974B2 (en) 2020-08-10 2023-03-21 Walmart Apollo, Llc Methods and apparatus for automatic permission assignment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2533495B2 (ja) 1986-07-25 1996-09-11 株式会社日立製作所 ワ−クスケジユ−リング方法及び装置
US5117353A (en) 1989-05-05 1992-05-26 Staff-Plus, Inc. System for use in a temporary help business
US5164897A (en) 1989-06-21 1992-11-17 Techpower, Inc. Automated method for selecting personnel matched to job criteria
US5459859A (en) 1991-06-18 1995-10-17 Mitsubishi Denki Kabushiki Kaisha Apparatus and system for providing information required for meeting with desired person while travelling
US5283731A (en) 1992-01-19 1994-02-01 Ec Corporation Computer-based classified ad system and method
GB9402935D0 (en) * 1994-02-16 1994-04-06 British Telecomm A method for controlling access to a database
US5416694A (en) 1994-02-28 1995-05-16 Hughes Training, Inc. Computer-based data integration and management process for workforce planning and occupational readjustment
US5592375A (en) 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US5754850A (en) 1994-05-11 1998-05-19 Realselect, Inc. Real-estate method and apparatus for searching for homes in a search pool for exact and close matches according to primary and non-primary selection criteria
JP2912840B2 (ja) 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US5799304A (en) 1995-01-03 1998-08-25 Intel Corporation Information evaluation
US5671409A (en) 1995-02-14 1997-09-23 Fatseas; Ted Computer-aided interactive career search system
GB2301912A (en) 1995-06-09 1996-12-18 Ibm Security for computer system resources
US5734828A (en) 1995-08-30 1998-03-31 Intel Corporation System for accessing/delivering on-line/information services via individualized environments using streamlined application sharing host and client services
US5758324A (en) 1995-12-15 1998-05-26 Hartman; Richard L. Resume storage and retrieval system
US5778181A (en) 1996-03-08 1998-07-07 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
JPH09288609A (ja) * 1996-04-23 1997-11-04 Mitsubishi Electric Corp ファイルの安全管理方式
US5799285A (en) 1996-06-07 1998-08-25 Klingman; Edwin E. Secure system for electronic selling
SE506853C2 (sv) 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Metod för databearbetning
US6131120A (en) * 1997-10-24 2000-10-10 Directory Logic, Inc. Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers
US6085191A (en) * 1997-10-31 2000-07-04 Sun Microsystems, Inc. System and method for providing database access control in a secure distributed network
US6064656A (en) * 1997-10-31 2000-05-16 Sun Microsystems, Inc. Distributed system and method for controlling access control to network resources
US6202066B1 (en) * 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
JPH11161536A (ja) * 1997-11-26 1999-06-18 Nec Inf Service Ltd 利用者制限装置およびその方法
JP3937548B2 (ja) * 1997-12-29 2007-06-27 カシオ計算機株式会社 データアクセス制御装置およびそのプログラム記録媒体
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6430549B1 (en) * 1998-07-17 2002-08-06 Electronic Data Systems Corporation System and method for selectivety defining access to application features

Also Published As

Publication number Publication date
JP4571746B2 (ja) 2010-10-27
HRP20010029A9 (en) 2008-03-31
WO2000004435A1 (en) 2000-01-27
AU4997899A (en) 2000-02-07
KR20010071933A (ko) 2001-07-31
DE69934894T2 (de) 2007-11-15
US20030050913A1 (en) 2003-03-13
DE69934894D1 (de) 2007-03-08
AU757061B2 (en) 2003-01-30
HRP20010029B1 (hr) 2008-04-30
BG64962B1 (bg) 2006-10-31
NZ509240A (en) 2002-11-26
EP1108238B1 (en) 2007-01-17
PL345904A1 (en) 2002-01-14
KR20060089753A (ko) 2006-08-09
EA200100145A1 (ru) 2001-06-25
IL140906A0 (en) 2002-02-10
JP2002520727A (ja) 2002-07-09
HUP0301138A2 (en) 2003-08-28
CA2336987A1 (en) 2000-01-27
EA003618B1 (ru) 2003-08-28
KR100692330B1 (ko) 2007-03-14
KR20060076790A (ko) 2006-07-04
US6430549B1 (en) 2002-08-06
EP1108238A1 (en) 2001-06-20
KR100712569B1 (ko) 2007-05-02
CN1318163B (zh) 2010-06-09
HRP20010029A2 (en) 2001-12-31
US6578029B2 (en) 2003-06-10
YU2701A (sh) 2002-12-10
BR9912119A (pt) 2001-10-16
CN1318163A (zh) 2001-10-17
KR100628426B1 (ko) 2006-09-28
ATE352071T1 (de) 2007-02-15
BG105150A (en) 2001-07-31

Similar Documents

Publication Publication Date Title
ES2280123T3 (es) Sistema y procedimiento para definir selectivamente el acceso a las caracteristicas de una aplicacion.
US7487154B2 (en) Method and apparatus for generating page-level security in a computer generated report
EP0927921B1 (en) Data access control apparatus for limiting data access in accordance with user attribute
US5564113A (en) Computer program product for rendering relational database management system differences transparent
US6202066B1 (en) Implementation of role/group permission association using object access type
US7703021B1 (en) Defining user access in highly-configurable systems
US7567964B2 (en) Configurable search graphical user interface and engine
JP2634117B2 (ja) データベースオブジェクトのユーザアクセス特権を判定するための方法およびそのシステム
JP4130684B2 (ja) データベースへのアクセスを制御するための方法及び装置
US8826142B2 (en) Document handling in a web application
US6772156B1 (en) Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security
US20050262452A1 (en) Tree lists using multiple line structures
US20050278282A1 (en) Methods, systems, and storage mediums for expanding the functionality of database applications
Howe Data analysis for database design
EP3023893B1 (en) A relational database, a database server comprising such a database, a database management system as well as a method of storing, retrieving, altering and managing data in such a database
Gibson et al. Information Management System: Master links—a hierarchical data system
Mahmud et al. Tradeoff analysis of relational database storage of privacy preferences
Kuo Design and implementation of data definition, data manipulation and access control facilities for a multi-user relational DBMS
McGeachie et al. Project FIND: an integrated information and modeling system for management
Allen et al. Database Administration
Beynon-Davies Database Administration
JPH03142639A (ja) データベース管理システム
Dunn et al. Program Documentation of the Plant Job Scheduling Model System