Impersonation

21/08/2003 - 04:07 por Omar Hamido | Informe spam
Saludos nuevamente, recientemente coloqué un post sobre el problema que
tengo para ejecutar código que permita actualizar una base de datos desde
sesiones de invitado o sesiones sin derechos, no sabías bien como abordar el
problema, un compañero del foro me sugirió que lo resolviera con
Impersonation. Ahora modifiqué el código para que al iniciar esta, se
realice Impersonation a una cuenta que he creado, distinta de la que uso
normalmente, con derechos de administrador. Coloque un mensaje justo después
de intentar el cambio y me arroja el nombre de la cuenta creada para tal
fin, como debe hacerlo; sin embargo en cuanto la ejecución continúa y se
llega al punto en que se intenta abrir la base de datos, me arroja una
excepción con mensaje de : Error desconocido. No sé que más haya que hacer,
que clase de derechos debe tener la cuenta para que la operación pueda
realizarse.

muchas gracias y un saludo...

Omar

Preguntas similare

Leer las respuestas

#1 Elph
21/08/2003 - 10:57 | Informe spam
Hash: SHA1

el usuario q se ha impersonado debe tener permisos en la base de
datos...

"Omar Hamido" escribió en el mensaje
news:
Saludos nuevamente, recientemente coloqué un post sobre el problema
que tengo para ejecutar código que permita actualizar una base de
datos desde sesiones de invitado o sesiones sin derechos, no sabías
bien como abordar el problema, un compañero del foro me sugirió que
lo resolviera con
Impersonation. Ahora modifiqué el código para que al iniciar esta,
se realice Impersonation a una cuenta que he creado, distinta de la
que uso normalmente, con derechos de administrador. Coloque un
mensaje justo después de intentar el cambio y me arroja el nombre
de la cuenta creada para tal fin, como debe hacerlo; sin embargo en
cuanto la ejecución continúa y se llega al punto en que se intenta
abrir la base de datos, me arroja una excepción con mensaje de :
Error desconocido. No sé que más haya que hacer, que clase de
derechos debe tener la cuenta para que la operación pueda
realizarse.

muchas gracias y un saludo...

Omar


Respuesta Responder a este mensaje
#2 Federico Villafañes
21/08/2003 - 13:41 | Informe spam
Omar:

Como bien dice "Elph", ahora podrias tener problemas de permisos.
Buscale la posible solucion por dos lados:

1) Por la ficha de "Seguridad" de las propiedades del archivo, desde
el explorer. Asegurate de darle todos los privilegios al usuario de
aplicacion que creaste.

2) Asegurate que desde el motor de base de datos (yo uso sql server
que tiene opciones para darle el nivel de acceso a cada usuario),
tambien lo habilitas a este usuario.

Si, a pesar de esto, sigue sin funcionar, el problema puede ser mas
sutil y para solucionarlo tendria que tener mas informacion sobre como
esta implementada tu solucion.

Lo que tienes que tener en cuenta son cosas como si el usuario que
creaste es local a tu PC o lo creaste en un dominio de NT (o AD de
Win2000). Son cosas distintas y es preferible trabajar con un usuario
de red y no uno local.

Tambien, y esto ya dependiendo de tu configuracion y el motor de
base de datos, tienes que tener en cuenta que cuando impersonalizas
un usuario esto se hace en dos niveles o etapas:

- La primera consiste en el login mismo del usuario. Esto aparentemente
lo tienes resuelto.

- La segunda parte es la carga del perfil (profile) del usuario en la
memoria de trabajo. (Te acuerdas del mensaje "Cargando su configuracion
Personal..." cuando inicias tu sesion de windows?). Hasta que esto no
se hace, estas conectado como nuevo usuario pero no estan seteadas
las variables de ambiente ni algunas claves del registro HKCU. Sin esto,
por ejemplo, una aplicacion no encontrara un directorio TEMP.

Tambien, si tu aplicacion reside en un servidor de red, primero prueba su
correcto funcionamiento en una pc local antes de llevarlo a la red.

Espero que esto te sirva de guia. Suerte.

Federico
Respuesta Responder a este mensaje
#3 Omar Hamido
22/08/2003 - 00:15 | Informe spam
Hola Federico:

Bueno como te había comentado la aplicación debe correr en una cuenta de
invitado o de usuario sin derechos. Dentro de las operaciones que se
realizan está la de modificar una base de datos hecha en access xp. He
creado una cuenta de tipo administrador con password destinada a la
Impersonation, llamada "AppAcount". He realizado las siguientes pruebas de
acuerdo a lo que han mencionado:

1) Asigne derechos dentro de la base de datos, para AppAcount.
2) Asigné derechos para el usuario de la cuenta citada desde el explorador.
Y aún así sigue sin funcionar, cuando llega a la intrucción en que se
intenta abrir la base de datos, se genera la excepción con el mismo mensaje:
Error desconocido.

Algo más extraño es que probé la aplicación desde la cuenta AppAcount, y me
corre sin ningún problema. Incluso realicé Impersonation a la cuenta que uso
normalmente, "Omar Hamido", e igual me funciona bien. Tenía la idea que la
impersonasión hacía mi cuenta personal funcionaba porque sólo realizaba una
cambio rápido de usuario; e intenté realizar Impersonation hacía "AppAcount"
desde "Omar Hamido", dejando iniciada la sesión de "AppAcount", sin embargo
se produjo el mismo error que les comento. Alguna idea?, gracias de
antemano.

Saludos...

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