Foros del Web » Programando para Internet » ASPX (.net) »

Siguen mis problemas con Dll

Estas en el tema de Siguen mis problemas con Dll en el foro de ASPX (.net) en Foros del Web. Que tal a todos. Nuevamente recurro a ustedes para ver si puedo solucionar esto. El sistema que estoy haciendo, tiene que subir y bajar archivos ...
  #1 (permalink)  
Antiguo 18/11/2005, 14:05
Avatar de julioszabo  
Fecha de Ingreso: octubre-2004
Mensajes: 47
Antigüedad: 19 años, 6 meses
Puntos: 0
Siguen mis problemas con Dll

Que tal a todos. Nuevamente recurro a ustedes para ver si puedo solucionar esto. El sistema que estoy haciendo, tiene que subir y bajar archivos a una carpeta en un server protegida con usuario y contraseña. Para esto he hecho algunas dll en VB 6.0 que las colgue de en COM+ con ese usuario y esa contraseña para a travez de esta poder acceder a los archivos cargados alli. Tuve que hacer otra dll en VB 6.0, para acceder a Archivos Word, o sea .doc, contenidos en esa carpeta. El objetovo es abrirlos, hacerles algunas modificaciones al Documento, grabarlo y cerrarlo. Mi problema surge cuando en la Dll se ejecuta la siguiente linea de codigo:
Código:
Set objWord = CreateObject("Word.Application")
Me tira el siguiente error:
Código HTML:
 "Permission denied Class : Word.Application"
Dando vueltas por todos lados para ver que era esto, entre a los mensajes de error de Windows, a travez de Event Viewer/System, y encontre un mensaje de error por cada uno de estos errores que tenia en mi pagina.
el Mensaje de Error es el siguiente:
Código HTML:
Access denied attempting to launch a DCOM Server. The server is:
{000209FF-0000-0000-C000-000000000046}
The user is PruebaEC/PCINGDESTEC02, SID=S-1-5-21-1220945662-1303643608-1801674531-1013. 
Busque esto en Internet y encontre algunas soluciones que al aplicarlas no me dieron resultados, todas hablaban de tocar la configuracion de permisos de Machine Debug Manager.
Pero lo mas curioso de todo esto es que corriendolo de otra maquina, funciona bien. O sea que es alguna configuracion que me falta en esta maquina, pero me canse e buscar y no encuentro nada, todo esta exactamente igual que la maquina donde funciona.
Bueno, espero que se entienda y que alguien me pueda dar una mano con esto.
Saludos a todos y desde ya muchas gracias por el interes.

Julio.
  #2 (permalink)  
Antiguo 19/11/2005, 19:57
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 20 años, 3 meses
Puntos: 0
Mira de modificar el machine.config

<identity impersonate="true" userName="" password=""/>

Impersonate ponla a true...
__________________
Un saludo,
Trucos
Videos
  #3 (permalink)  
Antiguo 21/11/2005, 08:29
Avatar de julioszabo  
Fecha de Ingreso: octubre-2004
Mensajes: 47
Antigüedad: 19 años, 6 meses
Puntos: 0
Hola Dynk, probe poniendo el Impersonate = true, en el machine.config, pero no funciono, a demas, como comentaba en el 1º Post, en la maquina donde trabajaba antes que esto ahi si funciona, me fije como tenia el Impersonate y lo tenia en false. Asi que debe ser otra cosa. La verdad que no tengo idea de que puede ser, pero me tiene de los pelos.

Gracias por tu interes.

Saludos, Julio.
  #4 (permalink)  
Antiguo 22/11/2005, 19:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 129
Antigüedad: 18 años, 5 meses
Puntos: 0
el impersonate ponlo en el Web.config de tu aplicación
  #5 (permalink)  
Antiguo 23/11/2005, 14:24
Avatar de julioszabo  
Fecha de Ingreso: octubre-2004
Mensajes: 47
Antigüedad: 19 años, 6 meses
Puntos: 0
Con respecto a lo del Impersonate
Código HTML:
<identity impersonate="true" userName="" password=""/> 
Cita:
el impersonate ponlo en el Web.config de tu aplicación
Es complicado este tema, ya que si pones un usuario en esta etiqueta, todo lo que se ejecute se ejecutará bajo este usuario, a demas, el tema de la password, estara visible y el Archivo Web.config esta en el sitio y es visible para muchos perfile.
Mi problema es de seguridad.
Hay algo en Windows 2000, mas especificamente en COM+, que me esta quitando permisos de creacion de documentos. Es decir:
Yo tengo una dll, que se encarga de subir documentos "*.doc" a una carpeta y modificarlos una vez subidos. La cuelgo en COM+ con usuario y contraseña, que es el mismo usr y pass con lo que esta protegida la carpeta, cuando Word intenta abrir el documento en esa carpeta, me da un error de Permisos: "Permiso Denegado".

En el Primer post habia puesto que el error era cuado se intentaba crear el objeto Word, pero despues de renegar bastante, descubri que es cuando intento abrir el archivo, en la lilnea:
Código:
objDoc = objWord.Documents.Open("\\PCServerFile\FolderFiles\Doc001.doc")
Cuando a la Aplicacion de COM+ en la cual tengo la dll, le saco el usuario y a la carpeta tambien, funciona de maravillas.

Hoy buscando, encontre un articulo que decia que una actualizacion de windows 2000, trae este tipo de problemas de seguridad, planteaba una solucion, la cual obviamente la aplique y no tuve resultados.

Bueno, espero que alguien me pueda dar una mano con esto, la verdad que no se que mas tocar, revise absolutamente todo, pero seguramente debe ser alguna configuracion de permisos de windows.

Les mando saludos a todos y muchas gracias por su interes.

Julio.
  #6 (permalink)  
Antiguo 25/11/2005, 13:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 129
Antigüedad: 18 años, 5 meses
Puntos: 0
Sip, el problema q tienes es en cuanto a los permisos sobre el componente COM+ que "levanta" la aplicación de Word, una vez yo los tuve y ya los había solucionado, se trataba de darle permiso a la cuenta ASP.NET de ejecutar ese componente, solo que ahorita no recuerdo bien bien dónde era, pero en cuanto lo tenga posteo la solución que yo lo había hecho...

con respecto a lo del impersonate, funciona si lo haces así:

<identity impersonate="true"/>

y quien ejecuta el código es el usuario "logeado" en la sesión de Windows
  #7 (permalink)  
Antiguo 07/12/2005, 22:05
 
Fecha de Ingreso: octubre-2005
Ubicación: Tuxtla Gutierrez Chiapas
Mensajes: 7
Antigüedad: 18 años, 6 meses
Puntos: 0
miren yo tengo un problema parecido o quizas es el mismo, a mi me marca un error de que no se puede crear el componente ActiveX, y me lo marca en la linea donde utilizo el createObject("Word.Application"). si en vez de eso pongo new word.application(), me marca un error de acceso denegado, exactamente es lo siguiente:

Error de servidor en la aplicación '/WebEjemplo'.
--------------------------------------------------------------------------------

Acceso denegado.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.UnauthorizedAccessException: Acceso denegado.

El proceso ASP.NET no está autorizado a obtener acceso al recurso solicitado. Por razones de seguridad, la identidad predeterminada del proceso ASP.NET es '{machinename}\ASPNET', que tiene privilegios limitados. Considere conceder derechos de acceso al recurso de la identidad del proceso ASP.NET.

Para conceder a ASP.NET acceso de escritura de un archivo, desde el Explorador, haga clic con el botón secundario en el archivo, elija "Propiedades" y seleccione la ficha Seguridad. Haga clic en "Agregar" para agregar el usuario de "{machinename}\ASPNET". Resalte la cuenta de ASP.NET y compruebe el cuadro de escritura en la columna Permitir.

Error de código fuente:


Línea 1158:
Línea 1159: 'Try
Línea 1160: cWord = New Word.Application()
Línea 1161: 'If cWord.Documents.Open("C:\Ejemplo.doc") Is Nothing Then
Línea 1162: 'LblError.Text = "no abreeeeeee"

Yo soy nuevo en esto y de verdad no veo ni por donde, en una aplicacion window form, lo probe y funciono perfectamente. Lo que ustedes explican de poner la linea "<identity impersonate="true"/>" en el web.config lo probe y me mando por un tubo, me manda un error desde que entro a mi sitio. si me pudieran ayudar me harían un gran favor.
  #8 (permalink)  
Antiguo 07/12/2005, 23:14
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
No _revivas_ mensajes antiguos, es mejor poner un mensaje nuevo. Sobre el error que te muestra, sólo haz caso al error que te manda...
Cita:
Para conceder a ASP.NET acceso de escritura de un archivo, desde el Explorador, haga clic con el botón secundario en el archivo, elija "Propiedades" y seleccione la ficha Seguridad. Haga clic en "Agregar" para agregar el usuario de "{machinename}\ASPNET". Resalte la cuenta de ASP.NET y compruebe el cuadro de escritura en la columna Permitir.
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #9 (permalink)  
Antiguo 08/12/2005, 03:32
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 20 años, 3 meses
Puntos: 0
jaguarbass, como dije antes a tu post:

Mira de modificar el machine.config

<identity impersonate="true" userName="" password=""/>

Impersonate ponla a true...
__________________
Un saludo,
Trucos
Videos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:47.