Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   roles, sesiones y usuarios de oracle 7.3 y delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=10408)

rcrmilo 18-05-2004 23:08:24

roles, sesiones y usuarios de oracle 7.3 y delphi 7
 
Hola todos...

Mi problema es el siguiente...

He desarrollado un sistema de gestion de mantenimiento de equipos en delphi 7 con una base de datos oracle. en entorno cliente servidor. ahora bien se me pidio realizar lo siguiente. de acuerdo a la jerarquia de usuarios y sus respectivos roles, hacer cierto tipo de consultas especializadas, como por ejemplo los jefes de departamento pueden ver cual ha sido el gasto de sus subalternos y asi sucesivamente hasta llegar al gerente, me gustaria primero ver desplegar en mi pantalla principal el nombre de usuario y tambien saber que rol es el que tiene, no se como hacer esto. y de acuerdo a esto habilitar ciertas opciones en sus menus, esta tarea es muy facil en Oracle developer, pero ahora queremos trabajar en windows, por lo que me complico un poco...

Gracias de antemano y espero me podais ayudar
:)

jachguate 18-05-2004 23:46:23

Podes obtener el usuario de la base de datos asi:

Código SQL [-]
Select user
  from dual;

Los roles asociados al usuario, y activos en la sesion, los podes obtener consultando la vista user_enabled_roles (la digo de memoria, pero si no es, algo asi se llama... :eek: ).

Hasta luego.

;)

santana 19-05-2004 00:15:05

Hola.


Cita:

Empezado por jachguate

Los roles asociados al usuario, y activos en la sesion, los podes obtener consultando la vista user_enabled_roles (la digo de memoria, pero si no es, algo asi se llama... :eek: ).

Tal vez mi memoria esté peor que la tuya, pero me parece que es así ;)

Código SQL [-]
 select *
 from SESSION_ROLES;

Saludos :D

jachguate 19-05-2004 00:44:01

Pues tenes suerte que mi servidor de Oracle está abajo por algunos problemas técnicos... dejaremos que sea rcrmilo quien lo confirme...

Hasta luego.

;)

rcrmilo 19-05-2004 15:25:12

Efectivamente hay que hacer lo ultimo.

muchas gracias por su ayuda...., pero me pregunto si pudeo administrar el ingreso de usuarios con sus respectibos roles mediante algun componente, puede ser el tsession....:o

jachguate 19-05-2004 19:44:32

que significa "administrar el ingreso de usuarios con sus respectivos roles" ???

:confused:

rcrmilo 31-05-2004 21:50:58

Roles???
 
Cuando administras una base de datos cliente servidor generalmente se crean cuentas de ingreso para cada uno de los usuarios, no obstante es lo mismo que entre el jefe de ventas que el gerente de operaciones, en todo caso se crean roles para cada uno de ellos con diversos tips, por ejemplo un usuario de baja jerarquia no puede ver cuanto gana el gerente o un distribuidor solo puede ver la lista de clientes, cada usuario pertenece a un rol, lo que le permite tener acceso a diferentes tablas, vistas y procedimientos.

rcrmilo 31-05-2004 21:57:55

pero quisiera saber como se obiene el nombre del rol en cuestion???:confused:

jachguate 31-05-2004 22:05:20

Lo ha respondido Santana antes, no?

rcrmilo 03-06-2004 16:41:45

select * from session_roles;

devuelve los persmisos activados al usuario conectado, pero no muestra el nombre del rol en cuestion.

santana 03-06-2004 16:55:10

¡¡¡ Hola !!! :)

No puedo asegurarte lo que contienen estas vistas porque no tengo Oracle en el trabajo y ahora mismo no lo recuerdo bien, pero investiga a ver las siguientes:

DBA_ROLES
DBA_ROLES_PRIVS

A ver si ahora damos en el clavo ;)

Saludos.

santana 03-06-2004 18:20:19

Hola nuevamente, rcrmilo.

En un momentillo que he podido escaquearme me he dado una vuelta por un manual que tenía a mano....

¿Seguro que la vista session_roles no te da la información que estás buscando?¿Entonces que devuelve esta sentencia?

Código SQL [-]
select role from session_roles;

No sé, ya comentarás algo.... :confused:

jachguate 03-06-2004 19:22:23

Cita:

Empezado por santana
¿Entonces que devuelve esta sentencia?
Código SQL [-]
select role from session_roles;

Pues al menos en oracle 8i... lo mismo que

Código SQL [-]
select * from session_roles;

:D :D

Pues es la única columna que tiene la vista :eek:

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 17:03:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi