Vistas parametrizadas en función del usuario que se conecta desde ASP

26/02/2004 - 20:40 por isaac | Informe spam
No soy experto en SQL Server 2000 y necesito algo de ayuda.

Estoy diseñando una base de datos que me gustaría que fuera común para
multiples clientes que tengo. Ellos atacarán a la BD a través de un
backoffice montado en ASP. Cada cliente tiene sus datos personales y no
tiene que ver los de otros clientes. El backoffice programado en ASP es el
mismo para todos.

Necesito saber si es posible establecer algún filtro de tal modo que las
consultas que realice el ASP filtre determinadas filas en función del
usuario que ha establecido la conexión con la base de datos. De este modo
podría utilizar la misma base de datos y la misma programación ASP para cada
uno de mis clientes. Se que puedo realizar Vistas para restringir
determinadas filas. A esa vista pueden tener acceso determinados usuarios,
sin embargo creo que no me vale puesto que cada vista tendría un nombre
distinto y en la programación ASP tendría que cambiar todas las consultas
para cada cliente.

Lo ideal sería que la única diferencia en los ASP de cada cliente sea el
usuario que se conecta a la base de datos y en función del usuario que se
conecta para parámetros a una especie de vístas parametrizadas.

¿Qué posibles soluciones hay? Por favor, que alguien me de alguna pista para
ir leyendo en los Libros en Pantalla porque por más que busco no acabo de
dar con la mejor solución.

Gracias por vuestra atención.
 

Leer las respuestas

#1 Maximiliano D. A.
26/02/2004 - 20:59 | Informe spam
Hola!! te entiendo a la perfecccion, veamos algunas alternativas

1) Armas Stores procedures y como entrada pones el Id de Usuario con lo cual
la cosa se resolveria bastante
2) Usas una vista para cada conexion de usuario, o sea que cada usuario sera
un propietario mas o menos asi
user1.clientes
user2.clientes

UserN.Clientes N

Lo mas parecido a una vista parametrizada son las UDF (Funciones def del
Usuario), revisa en el manual como hacerlo.

Yo me inclino por ma opcion 1, es la que mas me gusta en lo personal pero
cada cual te dara otras opciones quizas mas interesantes que las mias.

Bye




Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"isaac" escribió en el mensaje
news:c1li10$i7b$
No soy experto en SQL Server 2000 y necesito algo de ayuda.

Estoy diseñando una base de datos que me gustaría que fuera común para
multiples clientes que tengo. Ellos atacarán a la BD a través de un
backoffice montado en ASP. Cada cliente tiene sus datos personales y no
tiene que ver los de otros clientes. El backoffice programado en ASP es el
mismo para todos.

Necesito saber si es posible establecer algún filtro de tal modo que las
consultas que realice el ASP filtre determinadas filas en función del
usuario que ha establecido la conexión con la base de datos. De este modo
podría utilizar la misma base de datos y la misma programación ASP para


cada
uno de mis clientes. Se que puedo realizar Vistas para restringir
determinadas filas. A esa vista pueden tener acceso determinados usuarios,
sin embargo creo que no me vale puesto que cada vista tendría un nombre
distinto y en la programación ASP tendría que cambiar todas las consultas
para cada cliente.

Lo ideal sería que la única diferencia en los ASP de cada cliente sea el
usuario que se conecta a la base de datos y en función del usuario que se
conecta para parámetros a una especie de vístas parametrizadas.

¿Qué posibles soluciones hay? Por favor, que alguien me de alguna pista


para
ir leyendo en los Libros en Pantalla porque por más que busco no acabo de
dar con la mejor solución.

Gracias por vuestra atención.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 20/02/2004

Preguntas similares