Filtro estricto

01/02/2008 - 12:55 por María Eugenia Ryan | Informe spam
Hola a todos, hice un sistema para el seguimiento de las obras de la
provincia. El tema es que se va a cargar la información desde varias
reparticiones y necesito que cada repartición sólo pueda acceder a la
información que le corresponde.
¿Hay alguna manera de hacer un filtro diréctamente al servidor?. O sea,
quiero que todas las reparticiones accedan al mismo sistema pero que cada
una vea la información que le corresponda, de otra manera tendré que hacer
distintas pantallas para cada una. (espero me entiendan la pregunta).


María Eugenia Ryan

Preguntas similare

Leer las respuestas

#6 María Eugenia Ryan
04/02/2008 - 13:02 | Informe spam
Se me acaba de ocurrir algo, verificar lo que vos decís pero con un trigger
en la tabla (¿será mucho lio?), que cuando quieran modificar un registro
chequee la clave (ésto por si entran directamente a la tabla, porque el
filtro en el formulario lo hago como decís vos).

Lo que no soluciono es el tema de que vean los registros que no les
pertenecen.


"Carlos Sacristán" escribió en el mensaje
news:
Entonces tendrás que montar otra tabla que relacione las reparticiones con
el login de cada usuario: cada registro identificaría el código de usuario
con cada una de las reparticiones a las que tendría acceso. Luego, en la
consulta, habrá que combinar las tres tablas:

... FROM obras o INNER JOIN reparticiones r ON
o.id_reparticion=r.id_reparticion INNER JOIN seguridad s ON
s.id_reparticion=r.id_reparticion
WHERE s.cod_usuario = 'xxxxx'

Vamos, al menos ésta es una de las opciones


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el mensaje
news:
tengo la tabla OBRAS que se relaciona mediante el campo Id_Reparticion
con la tabla REPARTICIONES

Ese campo es el que tendría que filtrar.

Ellos van a levantar una aplicación en Access, que tiene algunas
pantallas asociadas a vistas y otras a tablas.

Se va a realizar una relación de confianza entre nuestro servidor y el de
ellos. Pero van a entrar con su login (qué es lo que yo tendría que
identificar).

Me parece que lo que necesito es (repitiendo tus palabras) "un sistema de
seguridad que relacione cada identificador con los datos que puede ver".


"Carlos Sacristán" escribió en el mensaje
news:
Bueno, hay varias formas de hacerlo, pero hay varias cosas que habría
que conocer de tu sistema:

- ¿qué es exactamente "la información que le corresponda"?. ¿Una
tabla? ¿una vista? ¿varias tablas? ¿varias bases de datos?
- ¿cómo acceden las aplicaciones? ¿directamente a las tablas base? ¿a
través de vistas? ¿a través de procedimientos almacenados?
- ¿cómo identificas quién está realizando la petición? ¿a través del
login? ¿a través de la aplicación? ¿otro modo?

No sé, puede que necesites un sistema de seguridad que relacione cada
identificador (sea lo que sea esto en tu sistema) con los datos que
puede ver. O puede que sea algo tan sencillo como consultar a un
procedimiento almacenado y redirigirle a la tabla base que sí puede
consultar.

En fin, que necesitamos más datos para ayudarte de forma más concreta


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA


"María Eugenia Ryan" escribió en el
mensaje news:%
Hola a todos, hice un sistema para el seguimiento de las obras de la
provincia. El tema es que se va a cargar la información desde varias
reparticiones y necesito que cada repartición sólo pueda acceder a la
información que le corresponde.
¿Hay alguna manera de hacer un filtro diréctamente al servidor?. O sea,
quiero que todas las reparticiones accedan al mismo sistema pero que
cada una vea la información que le corresponda, de otra manera tendré
que hacer distintas pantallas para cada una. (espero me entiendan la
pregunta).


María Eugenia Ryan













Respuesta Responder a este mensaje
#7 María Eugenia Ryan
05/02/2008 - 15:00 | Informe spam
Disculpá mi ignorancia ¿cómo hago para que no puedan ver las tablas?


"Carlos Sacristán" escribió en el mensaje
news:
No des permisos a la tabla, que sólo se pueda acceder por medio de
procedimientos almacenados, funciones y/o vistas. Con eso tendrías
solucionado no sólo el tema de consulta a los datos sino también a sus
modificaciones


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el mensaje
news:%
Buena idea, pero si van directamente a la tabla obras verían todos los
registros. Yo quisiera que el filtro lo haga en mi servidor y que allá
sólo lleguen los registros que pueden ver.
Tal vez lo que pido no es posible.


"Carlos Sacristán" escribió en el mensaje
news:
Entonces tendrás que montar otra tabla que relacione las reparticiones
con el login de cada usuario: cada registro identificaría el código de
usuario con cada una de las reparticiones a las que tendría acceso.
Luego, en la consulta, habrá que combinar las tres tablas:

... FROM obras o INNER JOIN reparticiones r ON
o.id_reparticion=r.id_reparticion INNER JOIN seguridad s ON
s.id_reparticion=r.id_reparticion
WHERE s.cod_usuario = 'xxxxx'

Vamos, al menos ésta es una de las opciones


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el
mensaje news:
tengo la tabla OBRAS que se relaciona mediante el campo Id_Reparticion
con la tabla REPARTICIONES

Ese campo es el que tendría que filtrar.

Ellos van a levantar una aplicación en Access, que tiene algunas
pantallas asociadas a vistas y otras a tablas.

Se va a realizar una relación de confianza entre nuestro servidor y el
de ellos. Pero van a entrar con su login (qué es lo que yo tendría que
identificar).

Me parece que lo que necesito es (repitiendo tus palabras) "un sistema
de seguridad que relacione cada identificador con los datos que puede
ver".


"Carlos Sacristán" escribió en el mensaje
news:
Bueno, hay varias formas de hacerlo, pero hay varias cosas que habría
que conocer de tu sistema:

- ¿qué es exactamente "la información que le corresponda"?. ¿Una
tabla? ¿una vista? ¿varias tablas? ¿varias bases de datos?
- ¿cómo acceden las aplicaciones? ¿directamente a las tablas base?
¿a través de vistas? ¿a través de procedimientos almacenados?
- ¿cómo identificas quién está realizando la petición? ¿a través
del login? ¿a través de la aplicación? ¿otro modo?

No sé, puede que necesites un sistema de seguridad que relacione cada
identificador (sea lo que sea esto en tu sistema) con los datos que
puede ver. O puede que sea algo tan sencillo como consultar a un
procedimiento almacenado y redirigirle a la tabla base que sí puede
consultar.

En fin, que necesitamos más datos para ayudarte de forma más concreta


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA


"María Eugenia Ryan" escribió en el
mensaje news:%
Hola a todos, hice un sistema para el seguimiento de las obras de la
provincia. El tema es que se va a cargar la información desde varias
reparticiones y necesito que cada repartición sólo pueda acceder a la
información que le corresponde.
¿Hay alguna manera de hacer un filtro diréctamente al servidor?. O
sea, quiero que todas las reparticiones accedan al mismo sistema pero
que cada una vea la información que le corresponda, de otra manera
tendré que hacer distintas pantallas para cada una. (espero me
entiendan la pregunta).


María Eugenia Ryan





















Respuesta Responder a este mensaje
#8 Carlos Sacristán
05/02/2008 - 17:03 | Informe spam
No podrán acceder a los datos directamente a menos que le des los
permisos correspondientes: en el mensaje anterior te lo decía. Aunque puedan
ver que existe la tabla, no podrán acceder a los datos porque no tendrán los
permisos SELECT necesarios para ello. En cambio, crea por ejemplo una
función que reciba como parámetro el código de usuario y que devuelva los
datos filtrados; asigna el permiso SELECT sobre dicha función y los usuarios
sólo podrán ver sus datos.

Espero haberme explicado


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el mensaje
news:uAMuBc$
Disculpá mi ignorancia ¿cómo hago para que no puedan ver las tablas?


"Carlos Sacristán" escribió en el mensaje
news:
No des permisos a la tabla, que sólo se pueda acceder por medio de
procedimientos almacenados, funciones y/o vistas. Con eso tendrías
solucionado no sólo el tema de consulta a los datos sino también a sus
modificaciones


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el mensaje
news:%
Buena idea, pero si van directamente a la tabla obras verían todos los
registros. Yo quisiera que el filtro lo haga en mi servidor y que allá
sólo lleguen los registros que pueden ver.
Tal vez lo que pido no es posible.


"Carlos Sacristán" escribió en el mensaje
news:
Entonces tendrás que montar otra tabla que relacione las reparticiones
con el login de cada usuario: cada registro identificaría el código de
usuario con cada una de las reparticiones a las que tendría acceso.
Luego, en la consulta, habrá que combinar las tres tablas:

... FROM obras o INNER JOIN reparticiones r ON
o.id_reparticion=r.id_reparticion INNER JOIN seguridad s ON
s.id_reparticion=r.id_reparticion
WHERE s.cod_usuario = 'xxxxx'

Vamos, al menos ésta es una de las opciones


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA

"María Eugenia Ryan" escribió en el
mensaje news:
tengo la tabla OBRAS que se relaciona mediante el campo Id_Reparticion
con la tabla REPARTICIONES

Ese campo es el que tendría que filtrar.

Ellos van a levantar una aplicación en Access, que tiene algunas
pantallas asociadas a vistas y otras a tablas.

Se va a realizar una relación de confianza entre nuestro servidor y el
de ellos. Pero van a entrar con su login (qué es lo que yo tendría
que identificar).

Me parece que lo que necesito es (repitiendo tus palabras) "un sistema
de seguridad que relacione cada identificador con los datos que puede
ver".


"Carlos Sacristán" escribió en el mensaje
news:
Bueno, hay varias formas de hacerlo, pero hay varias cosas que habría
que conocer de tu sistema:

- ¿qué es exactamente "la información que le corresponda"?. ¿Una
tabla? ¿una vista? ¿varias tablas? ¿varias bases de datos?
- ¿cómo acceden las aplicaciones? ¿directamente a las tablas base?
¿a través de vistas? ¿a través de procedimientos almacenados?
- ¿cómo identificas quién está realizando la petición? ¿a través
del login? ¿a través de la aplicación? ¿otro modo?

No sé, puede que necesites un sistema de seguridad que relacione cada
identificador (sea lo que sea esto en tu sistema) con los datos que
puede ver. O puede que sea algo tan sencillo como consultar a un
procedimiento almacenado y redirigirle a la tabla base que sí puede
consultar.

En fin, que necesitamos más datos para ayudarte de forma más concreta


Saludos


"Si a la primera no aciertas, inténtalo de nuevo."

Solid Quality Mentors
http://blogs.solidq.com/ES/ElRinconDelDBA


"María Eugenia Ryan" escribió en el
mensaje news:%
Hola a todos, hice un sistema para el seguimiento de las obras de la
provincia. El tema es que se va a cargar la información desde varias
reparticiones y necesito que cada repartición sólo pueda acceder a
la información que le corresponde.
¿Hay alguna manera de hacer un filtro diréctamente al servidor?. O
sea, quiero que todas las reparticiones accedan al mismo sistema
pero que cada una vea la información que le corresponda, de otra
manera tendré que hacer distintas pantallas para cada una. (espero
me entiendan la pregunta).


María Eugenia Ryan

























email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida