Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2005
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Seguridad en las tablas

Hola a todos:
Les escribo para ver si alguien me da una idea de como soluionar el problema que a continuación les presento:
Simplificando un poco tengo una tabla parecida a esta en SQL Server 2000
Nombre: Documentos
Campo1:idDoc int
Campo2:idEmp int
Campo3:imp money
Ahora quien puede acceder a esta tabla lo controlo por los permisos en el servirdor de SQL, sin embargo tambien me interesaria que ciertos usuarios puedieran acceder en dependencia del valor de idEmp por ejemplo:
Si idEmp = 1 entonces G_Usuarios1 sean los que pueden acceder

cualquier sugerencia siempre es bienvenida

Santiago
Responder Con Cita
  #2  
Antiguo 12-12-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Según me ha parecido entender, porque no está muy claro

En la tabla de usuarios debes tener un campo que sea algo así como "permiso", si es '1' es que tiene, si es '0' es que no tiene permisos.
Cuando vas a acceder a esa tabla Documentos, si el usuario tiene "permiso=1" le dejas entrar, que no... pues no.

Creo que es eso a lo que te refieres
Responder Con Cita
  #3  
Antiguo 12-12-2005
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
En realidad no tengo una tabla que se llame usuarios, los usuarios los importo de Windows y a estos les doy permisos a

SELECT UPDATE ....

en las tablas, pero lo que necesito es en dependencia del usuario y del valor de un campo de la tabla les dejo

SELECT UPDATE .... o EXEC
Responder Con Cita
  #4  
Antiguo 14-12-2005
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
yo he pensado en dos formas de hacerlo pero a las dos le encuentro dificultades
1 Forma
Creo una tabla con la sgte extructura
Código SQL [-]
 create table EmpUs (idEmp int, Usuario varchar(30))
y el administrador del servidor SQL la llena por ejemplo
idEmp Usuario
1 'PEPE'
1 'JUAN'
2 'RAUL'
3 'PEDRO'
ahora en la aplicación cliente yo me conecto en BD atraves de Store Proecedure donde le paso como parametro entre otras cosas el idemp
Código SQL [-]
Create Procedure pDoc @idEmp int as
 if exists(select idEmp from EmpUs where idEmp = @idEmp and Usuario = user)
  select * From Documentos where idEmp = @idEmp
 else 
  raiserror('usuario no autorizado',16,1)
pero de esta forma pudiera suceder que un usuario de otra idEmp instale en su PC alguna herramienta cliente donde pudiera mandar una consulta como
Código SQL [-]
select  * from Documentos
y tener datos de otras empresas
2 Forma
Crear tantas BD como empresas y en la aplicación cliente pregunto por la Empresa y entonces se conecte a ella si tiene permiso el usuario por supuesto, pero entonces tendria repetido todos los Store Procedure y Funciones, ademas si en un momento determinado existen dos clientes usando la aplición de Empresas diferentes tendria en memoria compilaciones de las mismas consultas (me parece), ademas de repetirce todas las tablas y objetos del sistema que crea cada BD

Por lo que agradeceria cualquier sugerencia o idea
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:22:45.


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
Copyright 1996-2007 Club Delphi