fbernaus
20th April 2004, 16:58
Hola,

Queremos crear un servicio Web, que lanze sesiones mediante AFS. Para esto lo primero que necesitamos escribir en el código es la instrucción:

Dim objeto_baan as object
objeto_baan = CreateObject ("ID_PROG")

El ID_PROG hace referencia al nombre de la clase que ofrece la funcionalidad de los AFS. Esa clase, para establecer la conexión con el servidor Baan (HP-UX) toma los parámetros necesarios de un fichero .bwc. Este fichero .bwc lo hemos creado mediante una cuenta, pongamos: "usuario".

Pues bien, cuando probamos el servicio Web este servicio se ejecuta en nombre de otro usuario, concretamente el ASPNET. Al ser un usuario distinto al que creó el archivo .bwc la contraseña no se recuerda, con lo cual el proceso bw.exe se inicia y queda a la espera de la introducción de la contraseña. Como el servicio Web no muestra la pantalla de login no es posible introducir la contraseña. Así pues, tras un tiempo el proceso bw.exe muere y el servicio Web falla dando el error:

HTTP 500 Error interno del servidor

¿Sabeis si se le puede dar de alguna forma los parámetros de la conexión en el momento de hacer el CreateObject?

¿Os habeis encontrado antes en una situación parecida? Si teneis alguna idea, será bienvenida.

Muchas gracias por vuestra ayuda

dorleta
21st April 2004, 13:30
Pues me imagino que lo que ya se te habrá ocurrido a ti.

Entrar en el ordenador donde reside el cliente con el usuario asp.net y crear el usuario con el, que se usuario sea el por defecto etc, etc, etc

Te mando un txt con la escasa información que al menos yo tengo sobre OLE en baanIV

Ondo Ibilli

wgarcia
10th February 2005, 17:50
Si quieres intentar desde el codigo VB puedes intentar este codigo, que es colocando una variable "username" a la coneccion, sin embargo, debe tener el password grabado.

baan4.application.%username%

dorleta
22nd February 2005, 11:01
Uno de los problemas que ocurren cuando intentas crear un objeto COM sobre una pagina .Net (aspx) es que los procesos se realizan
con el usuario ASPNET, el cual es un usuario que por motivos de seguridad esta bastante limitado. La solución es entonces simular la
ejecución con un usuario distinto. ¿ Cómo se consigue esto ? . En el ejemplo de la siguiente manera.

Se necesita un programa que se puede bajar de la web de Microsoft, aspnet_setreg.exe y crear una clave
de registro encriptada. Esto se realiza de la siguiente manera:

c:\Tools>aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\identity -u:"dominio\usuario" -p:"contraseña"

que nos genera las claves del registro adecuadas y dos líneas que se han de añadir tal cual a nuestro fichero web.config.

userName="registry:HKLM\SOFTWARE\APLICA02\identity\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\APLICA02\identity\ASPNET_SETREG,password"

quedando nuestro fichero web.config de la siguiente manera

<system.web>

<identity
impersonate="true"
userName="registry:HKLM\SOFTWARE\APLICA02\identity\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\APLICA02\identity\ASPNET_SETREG,password"
/>
</system.web>

La clave impersonate="true" es la que nos permite realizar la suplantación de identidades. Por último debemos de dar permiso
de lectura al usuario ASPNET para que pueda leer estas claves de registro con el programa regedt32.exe. Para que cogiera los permisos
me ha sido necesario dárselos directorio por directorio. Hecho esto y dando por supuesto que el cliente Baan está bien instalado,
que el usuario por defecto tiene guardada la contraseña y que se ha creado la aplicación de manera adecuada en IIS no debe de haber
ningún problema para que nos muestre en nuestra página los cien primeros proveedores de nuestro sistema.

Valira_Milu
1st April 2009, 18:50
Estoy implementando la solucion de suplantar la identidad pero no se en que directorios he dar permisos de lectura al usuario ASPNET, me podeis ayudar ?
Gracias.

iargudo
9th September 2010, 16:53
Te recomiendo Dixsi. Es un producto barato que corre sobre todas las version de BAAN y te permite comunicarte a traves de web services con BAAN o LN. Realmente es muy bueno. Habla con felipe_saavedra_olvera por skype.

Valira_Milu
13th September 2010, 10:05
Gracias por tu respuesta.
Tienes alguna direccion de correo de felipe_saavedra_olvera ?

iargudo
14th September 2010, 17:24
El correo de felipe es felipe arroba disus.com. La empresa se llama Disus. Lo tenemos instalado en donde trabajo ya que integramos todo con arquitectura SOA y realmente es muy bueno el producto. Ellos tienen muchas experiencia en BAAN.

Valira_Milu
20th September 2010, 09:54
Gracias Iargudo.