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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access 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.
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.
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.
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.
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.
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.
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.
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.
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)
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:
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.
`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:
\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.
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:
\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.
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.
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
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'.
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'.
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
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.
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.
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).
(V_ATTRIBUTE_APP_CODES).
\global\parskip0.990000\baselineskip
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.
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.
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.
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).
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.
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)
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.
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)
| 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)
| 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 |
-
1998
- 1998-07-17 US US09/118,621 patent/US6430549B1/en not_active Expired - Lifetime
-
1999
- 1999-07-15 KR KR1020067012276A patent/KR100692330B1/ko not_active Expired - Fee Related
- 1999-07-15 KR KR1020067012275A patent/KR100712569B1/ko not_active Expired - Fee Related
- 1999-07-15 ES ES99934061T patent/ES2280123T3/es not_active Expired - Lifetime
- 1999-07-15 CA CA002336987A patent/CA2336987A1/en not_active Abandoned
- 1999-07-15 WO PCT/US1999/016029 patent/WO2000004435A1/en not_active Ceased
- 1999-07-15 EA EA200100145A patent/EA003618B1/ru not_active IP Right Cessation
- 1999-07-15 EP EP99934061A patent/EP1108238B1/en not_active Expired - Lifetime
- 1999-07-15 BR BR9912119-0A patent/BR9912119A/pt not_active Application Discontinuation
- 1999-07-15 YU YU2701A patent/YU2701A/sh unknown
- 1999-07-15 CN CN998110868A patent/CN1318163B/zh not_active Expired - Lifetime
- 1999-07-15 PL PL99345904A patent/PL345904A1/xx not_active Application Discontinuation
- 1999-07-15 IL IL14090699A patent/IL140906A0/xx not_active IP Right Cessation
- 1999-07-15 AU AU49978/99A patent/AU757061B2/en not_active Ceased
- 1999-07-15 HU HU0301138A patent/HUP0301138A2/hu unknown
- 1999-07-15 JP JP2000560497A patent/JP4571746B2/ja not_active Expired - Lifetime
- 1999-07-15 KR KR1020017000681A patent/KR100628426B1/ko not_active Expired - Fee Related
- 1999-07-15 NZ NZ509240A patent/NZ509240A/xx not_active IP Right Cessation
- 1999-07-15 DE DE69934894T patent/DE69934894T2/de not_active Expired - Lifetime
- 1999-07-15 AT AT99934061T patent/ATE352071T1/de not_active IP Right Cessation
- 1999-07-15 HR HR20010029A patent/HRP20010029B1/xx not_active IP Right Cessation
-
2001
- 2001-01-15 BG BG105150A patent/BG64962B1/bg unknown
-
2002
- 2002-06-06 US US10/164,511 patent/US6578029B2/en not_active Expired - Lifetime
Also Published As
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 |