una dudilla mas

19/04/2004 - 13:17 por Mara | Informe spam
me comentastes que podian aparecer problemas con los permisos

tengo todo creado localmente, y funciona

la cuestion es que cuando intento acceder con un usuario que solo tengo dado
de alta en la segunda base de datos me da error, y la unica forma que tengo
de solucionarlo es dandole permisos tb en las otras bases de datos

mi intencion era la de permitir que ciertos usuarios solo viesen la base de
datos destinada a ellos

alguna idea?

gracias por adelantado
 

Leer las respuestas

#1 Adrian D. Garcia
19/04/2004 - 13:33 | Informe spam
Justamente ese erael problema.
Una solucion que no se si es factible de implementar en el entorno que
teneis alli es utilizar procedimientos almacenados en vez de vistas.
La mecanica seria asi:

1) Creas un usuario/login con permisos de "dueño" de la base de datos
"central" (por llamarla de alguna manera).
2) A ese usuario se le asignan permisos para ver las tablas de las otras
bases de datos que desees.
3) Con ese usuario creas los procedimientos almacenados que encesites
4) Le das permisos de ejecucion de a esos procedimientos almacenados creados
a los usuarios/login de tu apliacion. Solo ese permiso
5) Fin.

Cuando un usuario invoca a un procedimiento almacenado SQL Server
"impersonifica" los permisos de acceso a los objetos dependiendo del usuario
que creo el procedimiento y no del que lo esta invocando. Esto salvaria los
problemas que tienes.

Pero claro, quizas no te de la flexibilidad que te brindaba una vista.

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Mara" escribió en el mensaje
news:eSZfl$
me comentastes que podian aparecer problemas con los permisos

tengo todo creado localmente, y funciona

la cuestion es que cuando intento acceder con un usuario que solo tengo


dado
de alta en la segunda base de datos me da error, y la unica forma que


tengo
de solucionarlo es dandole permisos tb en las otras bases de datos

mi intencion era la de permitir que ciertos usuarios solo viesen la base


de
datos destinada a ellos

alguna idea?

gracias por adelantado


Preguntas similares