Página 1 de 1

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 1:37 pm
por Karl Svensson
Tengo problemas para acceder a una pagina que pide autenticación de usuario
y contraseña.
WITH OBJECT TInternet():New( Self )
:cUser:="usuario"
:cPassword:="password"
:nPort:=1003
IF :Open()
IF !Empty( hData := :OpenURL( "http://1.1.1.2:1003/pagina.aspx" ) )
IF :ReadFile( hData, @cData, 65536 )
::oMemo1:Value := cData
ENDIF
:CloseURL( hData )
ENDIF
:Close()
ENDIF
END
Si utilizo el acceso a través de OLE se activa la petición manual para la
autenticación, pero con TInternet no logra validar el usuario.
¿Alguna sugerencia? Gracias!
Karl

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 4:14 pm
por jlalin
Karl,
algunas veces he tenido que conectar explí­citamente al servidor.
Prueba así­:
IF :Open()
:Connect( "http://1.1.1.2" )
Saludos,
José Lalí­n

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 5:19 pm
por Karl Svensson
José, no funciona
Ya probé de hacer el connect pero parece que no permita la validación.
La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
Sharepoint en Windows 2003.
El caso es que llega a devolver la pagina desde el servidor, con el error de
usuario. Parece que no le llegan el usuario y password, no deben poderse
enviar.
En el caso de usar una instancia de Internet Explorer mediante TOLEAUTO() me
pide la autenticación. Probablemente,el servidor Sharepoint exige introducir
la clave y no permite hacerlo internamente.
De todas formas, muchas gracias
Karl
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:439459d6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
> algunas veces he tenido que conectar explícitamente al servidor.
>
> Prueba así:
>
> IF :Open()
> :Connect( "http://1.1.1.2" )
>
> Saludos,
> José Lalín

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 5:25 pm
por jlalin
Karl,
> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
> Sharepoint en Windows 2003.
¿ Tienes información sobre el tipo de datos que espera la autenticación ?
Es muy probable que la implementación de MS en Wininet.dll esté enviando
el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
espera que se le enví­en los datos codificados como MD5, CRC, etc.
Si así­ fuera tan sólo habrí­a que hacer:
::oNet:cUser := MD5String( "user" )
::oNet:cPassword := MD5String( "pass" )
Mí­ralo y me cuentas.
Saludos,
José Lalí­n

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 6:36 pm
por Karl Svensson
No puede ejecutar tu ejemplo, me falta el valor de la constante
_HB_FUN_MD5STRING, ¿debo hacer algun include?
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=43946a8d@ozsrvnegro.ozlan.local...]43946a8d@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
>> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
>> Sharepoint en Windows 2003.
>
> ¿ Tienes información sobre el tipo de datos que espera la autenticación ?
>
> Es muy probable que la implementación de MS en Wininet.dll esté enviando
> el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
> espera que se le envíen los datos codificados como MD5, CRC, etc.
>
> Si así fuera tan sólo habría que hacer:
>
> ::oNet:cUser := MD5String( "user" )
> ::oNet:cPassword := MD5String( "pass" )
>
> Míralo y me cuentas.
>
> Saludos,
> José Lalín

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 6:47 pm
por Karl Svensson
He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero sigue
sin conectar.
Creo que tu comentario es el camino a investigar, he encontrado esta pagina
en el MSDN que explicas las reglas de validación, aunque voy un poco perdido
con las rutinas que aquí indican.
http://msdn.microsoft.com/library/defau ... /library/e n-us/wininet/wininet/handling_authentication.asp
Gracias
Karl
"Karl Svensson" <karl@bcnartis.com> escribió en el mensaje
news:[email=43947a94@ozsrvnegro.ozlan.local...]43947a94@ozsrvnegro.ozlan.local...[/email]
> No puede ejecutar tu ejemplo, me falta el valor de la constante
> _HB_FUN_MD5STRING, ¿debo hacer algun include?
>
> "José Lalín" <dezac@corevia.com> escribió en el mensaje
> news:[email=43946a8d@ozsrvnegro.ozlan.local...]43946a8d@ozsrvnegro.ozlan.local...[/email]
>>
>> Karl,
>>
>>> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
>>> Sharepoint en Windows 2003.
>>
>> ¿ Tienes información sobre el tipo de datos que espera la autenticación ?
>>
>> Es muy probable que la implementación de MS en Wininet.dll esté enviando
>> el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
>> espera que se le envíen los datos codificados como MD5, CRC, etc.
>>
>> Si así fuera tan sólo habría que hacer:
>>
>> ::oNet:cUser := MD5String( "user" )
>> ::oNet:cPassword := MD5String( "pass" )
>>
>> Míralo y me cuentas.
>>
>> Saludos,
>> José Lalín
>
>

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 6:57 pm
por jlalin
Karl,
> He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero sigue
> sin conectar.
Ya, sólo era un ejemplo de por dónde debí­amos ir :-)
> Creo que tu comentario es el camino a investigar, he encontrado esta pagina
> en el MSDN que explicas las reglas de validación, aunque voy un poco perdido
> con las rutinas que aquí­ indican.
Intenta algunas de estas operaciones a ver si conseguimos sacar algo:
* Incluye "Wininet.api" en el fuente
* Prueba con IF :Open( , , , INTERNET_FLAG_KEEP_CONNECTION )
* Después de :Open() mira el valor de nLastError y GetErrorDescription()
* Prueba también con :ErrorDialog( ::nLastError ) después de :Open()
* Prueba con :GetRequest() en vez de :OpenURL()
Con los resultados que obtengas deberí­amos saber el camino a seguir.
Saludos,
José Lalí­n

Acceder con TInternet a Servidor Autenticado

Publicado: Lun Dic 05, 2005 7:20 pm
por Karl Svensson
OK! Mañana será un buen día......
Saludos y muchas gracias por la luz
Karl
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=43948019@ozsrvnegro.ozlan.local...]43948019@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
>> He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero
>> sigue sin conectar.
>
> Ya, sólo era un ejemplo de por dónde debíamos ir :-)
>
>> Creo que tu comentario es el camino a investigar, he encontrado esta
>> pagina en el MSDN que explicas las reglas de validación, aunque voy un
>> poco perdido con las rutinas que aquí indican.
>
> Intenta algunas de estas operaciones a ver si conseguimos sacar algo:
>
> * Incluye "Wininet.api" en el fuente
> * Prueba con IF :Open( , , , INTERNET_FLAG_KEEP_CONNECTION )
> * Después de :Open() mira el valor de nLastError y GetErrorDescription()
> * Prueba también con :ErrorDialog( ::nLastError ) después de :Open()
> * Prueba con :GetRequest() en vez de :OpenURL()
>
> Con los resultados que obtengas deberíamos saber el camino a seguir.
>
> Saludos,
> José Lalín