PAPI Archivos

The PAPI authentication and authorization framework

PAPI@LISTSERV.REDIRIS.ES

Opciones: Vista Forum

Use Monospaced Font
Por defecto enseñar Text Part
Esconda cabeceras de correo

Mensaje: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Tema: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Autor: [<< Primero] [< Prev] [Siguiente >] [Último >>]

Print Responder
Received:
by LISTSERV.REDIRIS.ES (LISTSERV-TCP/IP release 14.5) with spool id 6091163 for [log in para visualizar]; Mon, 6 Apr 2009 10:39:46 +0200 from cain.rediris.es (cain.rediris.es [130.206.24.1]) by listserv.rediris.es (Postfix) with ESMTP id 3E5535C201 for <[log in para visualizar]>; Mon, 6 Apr 2009 10:39:46 +0200 (CEST) from ovh2.c17.es ([94.23.19.59]) by cain.rediris.es with ESMTP; 06 Apr 2009 10:37:43 +0200 from localhost (localhost.localdomain [127.0.0.1]) by ovh2.c17.es (Postfix) with ESMTP id 6DBF93543A1 for <[log in para visualizar]>; Mon, 6 Apr 2009 10:39:45 +0200 (CEST) from ovh2.c17.es ([127.0.0.1]) by localhost (ns366703.ovh.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PUgjbJlKfcTv for <[log in para visualizar]>; Mon, 6 Apr 2009 10:39:38 +0200 (CEST) from montijo.localnet (4.27.216.87.static.jazztel.es [87.216.27.4]) by ovh2.c17.es (Postfix) with ESMTP id B063C354390 for <[log in para visualizar]>; Mon, 6 Apr 2009 10:39:38 +0200 (CEST)
Content-Type:
text/plain; charset="iso-8859-1"
References:
Date:
Mon, 6 Apr 2009 10:39:37 +0200
Reply-To:
The PAPI authentication and authorization framework <[log in para visualizar]>
X-Virus-Scanned:
Debian amavisd-new at ovh2.c17.es
MIME-Version:
1.0
X-Original-To:
Message-ID:
Subject:
Content-Transfer-Encoding:
quoted-printable
X-IronPort-Anti-Spam-Filtered:
true
Content-Disposition:
inline
Sender:
The PAPI authentication and authorization framework <[log in para visualizar]>
Received-SPF:
None identity=mailfrom; client-ip=94.23.19.59; receiver=lsv.rediris.es; envelope-from="[log in para visualizar]"; x-sender="[log in para visualizar]"; x-conformance=spf_only None identity=helo; client-ip=94.23.19.59; receiver=lsv.rediris.es; envelope-from="[log in para visualizar]"; x-sender="[log in para visualizar]"; x-conformance=spf_only
Delivered-To:
Emisor:
Antonio José García Lagar <[log in para visualizar]>
User-Agent:
KMail/1.11.1 (Linux/2.6.27-14-generic; KDE/4.2.1; x86_64; ; )
In-Reply-To:
Organization:
Compact Software International SA
X-IronPort-Anti-Spam-Result:
AqMCAP9c2UleFxM7i2dsb2JhbACBUpRUAQEBFQoYpQADBI0Ogl0EBoEoBg
Parts/Attachments:
text/plain (170 lines)
El Monday 06 April 2009 00:28:28 Diego R. Lopez escribió:
> Hola,
>
> On 31 Mar 2009, at 13:22, Antonio José García Lagar wrote:
> > El primero es una duda general: como puedo acceder desde el
> > FormProcessor a
> > valores que vengan en la aserción del AS.
>
> Cada atributo que viene en la asercion esta disponible en un array,
> que esta
> en $poa->{attrList}. El nombre del atributo esta en los elementos 2i y
> el
> valor en los 2i+1 (i va de 0 al numero de atributos).
> Asi que poniendo en las expresiones $poa->{attrList}[X] deberias poder
> accederlos.
>
Gracias, esto ya había conseguido solucionarlo.
> > Por otro lado estoy teniendo problemas en configurar el proxy para
> > Proquest con
> > el acceso a través del FormProcessor. Esta es mi configuración
> >
> > <Server name="proquest.papi.example.org" port="80"
> > independent="false">
> >        <Location path="/" id="proquest" filtered="true"
> > independent="false">
> >            <Hcook_DB>/usr/local/PAPI/etc/hcookdb</Hcook_DB>
> >            <GPoA_URL>wayf:built-in</GPoA_URL>
> >            <Req_DB>/usr/local/PAPI/etc/requestdb</Req_DB>
> >            <Remote_URL>http://proquest.umi.com</Remote_URL>
> >            <Form_Processor url="http://proquest.umi.com/pqdweb"
> > form_index="2">
> >                <Field name="COPT"></Field>
> >                <Field name="Password">pass</Field>
> >                <Field name="RQT">301</Field>
> >                <Field name="UserId">user</Field>
> >                <Field name="int">0</Field>
> >                <Field name="lang">es</Field>
> >            </Form_Processor>
> >
> >            <Eval_Proxy_Redirects>0</Eval_Proxy_Redirects>
> >        </Location>
> >    </Server>
> >
> > ¿Alquien que lo tenga funcionando aunque sea con la versión 1.4 podría
> > enviarme su configuración o echarme una mano?
> >
> > Lo que quiero con la primera cuestión es que el usuario y la
> > password vinieran
> > en la aserción userid=user,password=pass guardada en el directorio
> > LDAP y
> > poder leerlo desde ahí.
>
> Me temo que nunca he configurado ese modo de acceso para ProQuest (ni
> en 1.4 ni 1.5).
> He echado un vistazo por el sitio y lo curioso es que usa un form para
> el username
> y otro para el password, con Javascript por medio. Esto puede hacer
> que el parser del
> proxy se haga un lio a la hora de llenar el form con los valores
> adecuados, porque
> puede que los valores "hidden" no los trate bien. Creo que lo mas
> adecuado seria
> analizar el trafico y ver lo que se envia realmente a traves del proxy.
>
Respecto a esto, he conseguido poner el mod_perl en modo debug interactivo, y 
estoy bastante perdido. En la página como tu dices, hay dos formularios, pero 
de ambos, el Form_Processor solo identifica los campos tipo hidden:

userIdForm:
$VAR1 = bless( {       
                 'base' => undef,
                 'link' => '/pqdweb',
                 'selections' => {}, 
                 'buttonvals' => {}, 
                 'allfields' => [    
                                  'RQT',
                                  'COPT',
                                  'Passwd'
                                ],        
                 'name' => 'userIdForm',  
                 'fieldtypes' => {        
                                   'Passwd' => 'input/hidden',
                                   'COPT' => 'input/hidden',  
                                   'RQT' => 'input/hidden'    
                                 },                           
                 'checkboxstate' => {},                       
                 'fieldvals' => {                             
                                  'Passwd' => '',             
                                  'COPT' => '',               
                                  'RQT' => '301'              
                                },                            
                 'fields' => [],                              
                 'upload' => 0,                               
                 'debug' => undef,                            
                 'buttontypes' => {},                         
                 'method' => 'POST',                          
                 'buttons' => []                              
               }, 'HTTP::Request::Form' ); 

mainform:
$VAR1 = bless( {       
                 'base' => undef,
                 'link' => '/pqdweb',
                 'selections' => {},
                 'buttonvals' => {},
                 'allfields' => [
                                  'RQT',
                                  'COPT',
                                  'UserId',
                                  'int'
                                ],
                 'name' => 'mainform',
                 'fieldtypes' => {
                                   'int' => 'input/hidden',
                                   'UserId' => 'input/hidden',
                                   'COPT' => 'input/hidden',
                                   'RQT' => 'input/hidden'
                                 },
                 'checkboxstate' => {},
                 'fieldvals' => {
                                  'int' => '0',
                                  'UserId' => '',
                                  'COPT' => '',
                                  'RQT' => '301'
                                },
                 'fields' => [],
                 'upload' => 0,
                 'debug' => undef,
                 'buttontypes' => {},
                 'method' => 'POST',
                 'buttons' => []
               }, 'HTTP::Request::Form' );

Para solucionar esto he escrito una rutina que lo que hace es que si no 
encuentra un campo en el formulario, que si haya sido definido en la 
configuración del PoA, lo crea para que el formulario tenga al final al menos 
todos los campos definidos en el PoA. Eso puede ayudar a procesar formularios 
que se ayuden del javascript para crear nuevos elementos al vuelo.

Insertar en línea 282
       for my $f (keys %{$formProc->{settings}}) {
         my $field = $g->look_down("name",$f);
         if($field == undef) {
           my $h = HTML::Element->new('input', 'name' => $f, 'type' => 
'hidden' );
           $g->push_content($h);
         }
       }

Con esto ya consigo enviar a Proquest el formulario con toda la información 
necesaria. Aún así sigo con problemas porque siempre me responde con un header 
302 que me lleva a un bucle infinito.


> Se güeno,
>
> --
> "Esta vez no fallaremos, Doctor Infierno"
>
> Dr Diego R. Lopez
>
> Red.es - RedIRIS
> The Spanish NREN
>
> e-mail: [log in para visualizar]
> jid:        [log in para visualizar]
> Tel:    +34 955 056 621
> Mobile: +34 669 898 094
> -----------------------------------------

ATOM RSS1 RSS2