Vistas compartidas por usuario

Tengo un problema en cuanto a las vistas.
Yo genere varias vistas las cuales están controladas por roles para que las vean determiandos usuarios de la compañía. La visualización del vista depende del valor de UN campo y del rol asignado.
Cuando ingresa un usuario a la base de datos, visualiza solo los registros que se le han asignado.
El problema es que en ocasiones cuando se abre la base de datos, como existe una vista que se coloca predeterminada en el conjunto de marcos, la primera que se visualiza es la que esta predeterminada permitiendo ver datos que no le corresponden (parece que no hace un refresh), y lo que yo quiero es que no me abra la predeterminada sino que se ubique en una de las que le corresponden a su rol.

1 respuesta

Respuesta
1
Deberías aclararme como son las vistas que has creado. Entiendo que si has creado vistas controladas por roles las vistas deberían ser publicas-personales al primer uso, de otra manera se hace muy complicado gestionarlas, obligando al diseñador a descartar los índices, etc.
Este tipo de vistas pueden generar problemas como el que me comentas.
Si me aclaras el tipo de diseño quizás te pueda ayudar un poco más.
Para resolver todo ésto de forma definitiva, te recomendaría que el rol lo definieses dentro de un campo de "Lectores". Podrías abrir la misma vista simultáneamente por diferentes usuarios y cada uno de ellos sólo podría ver lo que realmente quieres que vea con absoluta seguridad y sin problemas con framesets, desde luego.
En general lo que yo quiero es que el usuario vea solo sus documentos, y el gerente de área pueda ver el de todas sus personas a cargo.
A ver, lo que yo hice fue crear varias vistas compartidas privadas.
Tengo un campo con el cual clasifique a los usuarios según las áreas.
Lo que yo hago es crear documentos y asignarlos a los usuarios, pero dependiendo de las áreas, los usuarios pueden ver los documentos.
Lo que hice fue crear una validación en las vistas para que muestre información según el campo(área)u área a que pertenezcan.
Pero para visualizar esto, en el esquema coloque que me ocultara la información según los roles.
El problema que sucede y aun con las vistas compartidas privadas es que como estoy trabajando con marcos, yo cree un marco a la cual se le asigna una vista predeterminada, entonces como yo tengo oculto los datos según los roles establecidos en el esquema, hay ocasiones en que un usuario POR ABRE LA BASE DE DATOS y alcanza a ver los documentos de otra persona, si yo cambio de vista se arregla el problema, pero esto no debería ser así.
Yo estuve intentando la opción de crear un campo de lectores y no supe como hacerlo, porque yo tendría que asignarle a ese campo, el rol de la persona a quien voy a asignar el documento(que es la persona que tiene que abrirlo).
Me gustaría tener una ayudita ahí, ya que esto me evitaría tener tantas vistas, y cada usuario estaría viendo lo que le corresponde sin el problema que te comente.
Definitivamente, necesitas un campo de lectores.
Crear un campo de este tipo no tiene ninguna complicación. En un campo lectores caben nombres de personas, grupos o roles y puedes combinarlos y también tener varios campos de lectores en un solo formulario.
Crea un rol de administración, donde esté el gerente y el servidor o servidores que repliquen y creas un campo oculto y calculado de lectores con ese rol (así no se perderá ningún documento).
Creas un campo de asignación del documento editable y de tipo lectores de forma que el usuario que lo edite pueda escoger a quien enviárselo. Si solo pueden asignar determinados usuarios puedes incluir el campo dentro de una sección de acceso restringido.
Si el asignador debe seguir viendo el documento puedes tener por ahí un campo de lectores para guardar el nombre del asignador.
Cuando guarde el documento sólo el administrador, el asignador y el asignado verán el documento.
Hay un sistema diferente también para visualizar información de la manera que tu quieres si no te gustan los campos de lectores:
Creas un formulario con una vista incrustada. Pones dentro una vista categorizada por el nombre o el rol asignado. Configuras la vista incrustada para que solo visualice documentos de una categoría (que calculas al vuelo en función del usuario). Para que el documento no se guarde le colocas un campo oculto SaveOptions con valor "0".
Espero haber sido claro, aunque ten en cuenta que no hay nada, absolutamente nada, que funcione a la primera ;-(
La opción que me diste nunca la había utilizado como tal. Me da muchas ideas para realizar algunos cambios en el desarrollo, al fin te entendí en concepto de lo que me querías decir, estaba entendiendo otra cosa.
Felicitaciones por la página y la prontitud a las respuestas, realmente este sera mi nueva ayuda para cosas que pueda necesitar. ! Muchas gracias¡

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas