Crear restricciones de acceso

16/12/2004 - 14:58 por rober | Informe spam
Saludos a tod@s.

Quisiera pedir un poco de ayuda, a todos Uds. que acumulan el conocimiento
y la experiencia en cantidades vastas.

Tengo un libro de excel, que es un 'visor' de datos que estan esparcidos
por diferentes archivos.
Necesito crear restricciones de acceso (es decir niveles) para que los
usuarios sólo puedan ver cierta información.
Quisiera que al abrir el archivo, se pidiera un nombre de usuario y un
password, y si son correctos se mostrara información de manera selectiva,
de acuerdo al departamento al que pertenezca el usuario (o sea que el
usuario solo pueda hacer consultas acerca de trabajadores de SU
departamento).
Esto porque el 'visor' de datos muestra información personal, laboral y un
historial de todo el año, acerca de todos los trabajadores de mi compañia,
simplemente tecleando en $Y$2 el número de trabajador.
En $Y$2, tengo una validación, que muestra la lista de todos los
trabajadores.

Mas o menos tengo una idea: que tal crear un vector de 3 x n, en el que
incluya NOMBRE_USUARIO, PSSWRD, DEPTO, y a partir de ahi, con un userform
solicitar los datos de entrada (nombre de usuario y password), y luego de
acuerdo al departamento, 'restrigir' ( es decir reducir o ampliar el rango
de la lista de validación para que solo se puedan 'consultar' a los
trabajadores del mismo centro de costo)los niveles de acceso.

Por ejemplo, Usuario: HernandezR, password: sdfsdfn, y este usuario al
estar en el departamento 224, ocasione que la lista de validación solo
permita ingresar los numeros 1478 y 1566...

(Imagino que así deberá quedar la tabla de donde obtengo la lista de
validación...)

ID_NUM C_COSTO
747 101
814 101
1255 216
1478 224
1566 224
1901 351
2014 401
2145 601
3015 901

Agradeceré de sobremanera el apoyo que puedan prestar a un servidor, para
poder liberar el sistema. G r a c i a s.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
17/12/2004 - 07:07 | Informe spam
hola, Roberto !

... libro de excel, que es un 'visor' de datos ... esparcidos por diferentes archivos.
... crear restricciones de acceso ... para que los usuarios solo puedan ver cierta informacion.
... al abrir el archivo ... un nombre de usuario y un password, y ... mostrara informacion ... de acuerdo al [...]
... tengo una validacion, que muestra la lista de todos los trabajadores.
... tengo una idea: ... crear un vector ... que incluya NOMBRE_USUARIO, PSSWRD, DEPTO
... con un userform solicitar los datos de entrada (nombre de usuario y password)
... luego ... 'restrigir' (... reducir o ampliar el rango de la lista de validacion [...]
... (Imagino que asi debera quedar la tabla de donde obtengo la lista de validacion...)
ID_NUM C_COSTO
747 101
814 101 [...]



con relacion a la 'ampliacion/reduccion' del rango donde 'se toman' datos para la lista de validacion...
podrias definir un nombre con referencia a rangos 'dinamicos' y 'aplicarlo' como lista de origen en la validacion
[p.e.] suponiendo que...
=> el listado [con el 'arreglo' que mencionas] estuviera en 'a1:b[n]' =>y ordenados los datos para 'c_costo'<=> 'depositas' en alguna celda [p.e. en 'c1'] el numero de departamento [segun la seleccion en el userform]
1.- define un nombre ->[menu] insertar / nombre / definir... [p.e. 'ListaDepto']<-
2.- en el cuadro de 'referencia' ['se refiere a:'] escribe la siguiente formula...
=desref($a$1,coincidir($c$1,$b:$b,0)-1,,contar.si($b:$b,$c$1),1)
[la aplicacion 'se encargara' de asignar el nombre de la hoja 'activa' y poner la formula en mayusculas]
=>solo te recuerdo que 'mi' separador de argumentos es la coma ',' NO el punto y coma ';'<= ;)
3.- 'finalmente' en la celda donde se hace la validacion... 'indicale' que el origen es 'el nombre' que hayas 'creado'
[solo 'incluira' del rango -'A'- que quede 'comprendido' por las celdas -'B'- del departamento indicado -'C1'-]

con relacion a 'la forma' de solicitar la informacion [el userform]...
no tardan en surgir ideas [mientras comentas p.e.]...
- ¿cuantas contraseñas/departamentos/usuarios/etc. [y donde/como] piensas 'manejar'?
- [quizas] 'habra que cuidar' el tiempo de 'permanencia/consulta' [?]
y/o 'prevenir/evitar/corregir' si algun usuario [por olvido] deja 'abierta' su sesion :(
- 'pasando' por la 'proteccion' [tambien] del proyecto de macros [y 'vigilar' si se abre 'sin permiso' de usarlas'] etc.

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Rober
18/12/2004 - 20:30 | Informe spam
Saludos Hector:

Y sobre todo gracias por tu tiempo, que a nadie nos sobra.
Antes que nada déjame decirte que la reducción/ampliación de la lista de
validación funciona muy bien! De hecho, perfectamente...
Como imaginarás, cuando un usuario no autorizado teclea un numero de
trabajador invalido para él, se muestra un msgbx que dice que no esta
autorizado para accesar a esa información, pero muestra la información
Para solucionarlo muestro un Form que cubre toda la pantalla y dice la
leyenda: "Usted no está..." etc.
En cuanto a la restricción de acceso, creo tres vectores 'usuarios',
'passwords' y 'departamentos' y a partir de ellos creo los niveles de
acceso.
Creo que hasta el momento todo va ok.

Gracias otra vez.

Héctor Miguel wrote:

hola, Roberto !

> ... libro de excel, que es un 'visor' de datos ... esparcidos por


diferentes archivos.
> ... crear restricciones de acceso ... para que los usuarios solo puedan


ver cierta informacion.
> ... al abrir el archivo ... un nombre de usuario y un password, y ...


mostrara informacion ... de acuerdo al [...]
> ... tengo una validacion, que muestra la lista de todos los trabajadores.
> ... tengo una idea: ... crear un vector ... que incluya NOMBRE_USUARIO,


PSSWRD, DEPTO
> ... con un userform solicitar los datos de entrada (nombre de usuario y


password)
> ... luego ... 'restrigir' (... reducir o ampliar el rango de la lista de


validacion [...]
> ... (Imagino que asi debera quedar la tabla de donde obtengo la lista de


validacion...)
> ID_NUM C_COSTO
> 747 101
> 814 101 [...]

con relacion a la 'ampliacion/reduccion' del rango donde 'se toman' datos


para la lista de validacion...
podrias definir un nombre con referencia a rangos 'dinamicos' y 'aplicarlo'


como lista de origen en la validacion
[p.e.] suponiendo que...
=> el listado [con el 'arreglo' que mencionas] estuviera en 'a1:b[n]' =>y


ordenados los datos para 'c_costo'<> => 'depositas' en alguna celda [p.e. en 'c1'] el numero de departamento
[segun la seleccion en el userform]
1.- define un nombre ->[menu] insertar / nombre / definir... [p.e.


'ListaDepto']<-
2.- en el cuadro de 'referencia' ['se refiere a:'] escribe la siguiente


formula...
=desref($a$1,coincidir($c$1,$b:$b,0)-1,,contar.si($b:$b,$c$1),1)
[la aplicacion 'se encargara' de asignar el nombre de la hoja 'activa'


y poner la formula en mayusculas]
=>solo te recuerdo que 'mi' separador de argumentos es la coma ',' NO


el punto y coma ';'<= ;)
3.- 'finalmente' en la celda donde se hace la validacion... 'indicale' que


el origen es 'el nombre' que hayas 'creado'
[solo 'incluira' del rango -'A'- que quede 'comprendido' por las celdas


-'B'- del departamento indicado -'C1'-]

con relacion a 'la forma' de solicitar la informacion [el userform]...
no tardan en surgir ideas [mientras comentas p.e.]...
- ¿cuantas contraseñas/departamentos/usuarios/etc. [y donde/como] piensas


'manejar'?
- [quizas] 'habra que cuidar' el tiempo de 'permanencia/consulta' [?]
y/o 'prevenir/evitar/corregir' si algun usuario [por olvido] deja


'abierta' su sesion :(
- 'pasando' por la 'proteccion' [tambien] del proyecto de macros [y


'vigilar' si se abre 'sin permiso' de usarlas'] etc.

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Rober
18/12/2004 - 21:04 | Informe spam
Otra cosa.
Tienes algun método, código o idea para lo referente al tiempo de
permanencia/consulta.
Existe algun modo de 'autobloquear' el libro (pidiendo otra vez el
password) si el usuario deja la sesion sin utilizar por un período de
tiempo x???
Si puedes ayudarme te lo voy a agradecer infinitamente.

Saludos!


Roberto HT wrote:



Saludos Hector:

Y sobre todo gracias por tu tiempo, que a nadie nos sobra.
Antes que nada déjame decirte que la reducción/ampliación de la lista de
validación funciona muy bien! De hecho, perfectamente...
Como imaginarás, cuando un usuario no autorizado teclea un numero de
trabajador invalido para él, se muestra un msgbx que dice que no esta
autorizado para accesar a esa información, pero muestra la información
Para solucionarlo muestro un Form que cubre toda la pantalla y dice la
leyenda: "Usted no está..." etc.
En cuanto a la restricción de acceso, creo tres vectores 'usuarios',
'passwords' y 'departamentos' y a partir de ellos creo los niveles de
acceso.
Creo que hasta el momento todo va ok.

Gracias otra vez.

Héctor Miguel wrote:

> hola, Roberto !

> > ... libro de excel, que es un 'visor' de datos ... esparcidos por
diferentes archivos.
> > ... crear restricciones de acceso ... para que los usuarios solo puedan
ver cierta informacion.
> > ... al abrir el archivo ... un nombre de usuario y un password, y ...
mostrara informacion ... de acuerdo al [...]
> > ... tengo una validacion, que muestra la lista de todos los trabajadores.
> > ... tengo una idea: ... crear un vector ... que incluya NOMBRE_USUARIO,
PSSWRD, DEPTO
> > ... con un userform solicitar los datos de entrada (nombre de usuario y
password)
> > ... luego ... 'restrigir' (... reducir o ampliar el rango de la lista de
validacion [...]
> > ... (Imagino que asi debera quedar la tabla de donde obtengo la lista de
validacion...)
> > ID_NUM C_COSTO
> > 747 101
> > 814 101 [...]

> con relacion a la 'ampliacion/reduccion' del rango donde 'se toman' datos
para la lista de validacion...
> podrias definir un nombre con referencia a rangos 'dinamicos' y 'aplicarlo'
como lista de origen en la validacion
> [p.e.] suponiendo que...
> => el listado [con el 'arreglo' que mencionas] estuviera en 'a1:b[n]' =>y
ordenados los datos para 'c_costo'<> > => 'depositas' en alguna celda [p.e. en 'c1'] el numero de departamento
[segun la seleccion en el userform]
> 1.- define un nombre ->[menu] insertar / nombre / definir... [p.e.
'ListaDepto']<-
> 2.- en el cuadro de 'referencia' ['se refiere a:'] escribe la siguiente
formula...
> =desref($a$1,coincidir($c$1,$b:$b,0)-1,,contar.si($b:$b,$c$1),1)
> [la aplicacion 'se encargara' de asignar el nombre de la hoja 'activa'
y poner la formula en mayusculas]
> =>solo te recuerdo que 'mi' separador de argumentos es la coma ',' NO
el punto y coma ';'<= ;)
> 3.- 'finalmente' en la celda donde se hace la validacion... 'indicale' que
el origen es 'el nombre' que hayas 'creado'
> [solo 'incluira' del rango -'A'- que quede 'comprendido' por las


celdas
-'B'- del departamento indicado -'C1'-]

> con relacion a 'la forma' de solicitar la informacion [el userform]...
> no tardan en surgir ideas [mientras comentas p.e.]...
> - ¿cuantas contraseñas/departamentos/usuarios/etc. [y donde/como] piensas
'manejar'?
> - [quizas] 'habra que cuidar' el tiempo de 'permanencia/consulta' [?]
> y/o 'prevenir/evitar/corregir' si algun usuario [por olvido] deja
'abierta' su sesion :(
> - 'pasando' por la 'proteccion' [tambien] del proyecto de macros [y
'vigilar' si se abre 'sin permiso' de usarlas'] etc.

> ¿comentas?
> saludos,
> hector.
Respuesta Responder a este mensaje
#4 Héctor Miguel
19/12/2004 - 08:31 | Informe spam
hola, Roberto !

... referente al tiempo de permanencia/consulta.
... algun modo de 'autobloquear' el libro (pidiendo otra vez el password)
si el usuario deja la sesion sin utilizar por un periodo de tiempo x??? [...]



suponiendo que el formulario 'de apertura' se muestra con algun evento [tambien] 'de apertura'...
una forma de 'auto-bloqueo' pudiera ser una instruccion 'OnTime' para mostrarlo nuevamente
es posible que sea necesario proveer un boton de 'cancelacion' [para no provocar 'errores' con el 'OnTime']
[no se que otro tipo de 'consultas/permisos/acciones' haga el codigo 'completo']
p.e. una vez mostrado el formulario Y 'validados' los datos del usuario y password...
para 'darle' al usuario 10 minutos 'de consulta'... usar una instruccion +/- como la siguiente:
[en el evento '_click' de un boton de 'aceptacion' en el modulo de codigo del formulario]
Application.OnTime Now + TimeValue("0:10"), "Macro_que_muestra_el_formulario"
[obviamente 'cuidando los detalles' de la 'preparacion' del archivo a su 'estado original']

[dicho sea 'de paso' y para evitar que 'llenes' de modulos y codigos el proyecto de macros]...
de la misma forma en que 'detectas' cuando el usuario 'solicita' informacion que NO 'le corresponde'...
[en lugar de mostrar un formulario 'a pantalla completa' para ocultar los datos 'prohibidos']...
podrias 'aprovechar' el metodo de 'deteccion' para BORRAR el dato 'invalido' y [simplemente]...
mostrar un msgbox con una leyenda que le indique algo parecido a lo siguiente...
MsgBox "La confianza es una puerta que abre en ambos sentidos." & VbCr & _
"Por favor, no trate de consultar información que no le corresponde."

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida