Hola, la variable REMOTE_USER la debes tener también cuando activas el
modo lazy, una vez que has redirigido para activar la sesión PAPI y
vuelve a tu aplicación, y si has definido correctamente PAPIRemoteUserAttribute
Un saludo
Agustin Lopez wrote:
>
> Gracias Sergio!
>
> Curiosamente sólo me aparece en el CGI la variable REMOTE_USER cuando pongo
> PAPILazySession Off
>
> Además aparecen las siguientes variables:
>
> HTTP_X_PAPI_ASID=UVAS
> HTTP_X_PAPIATTR_USERNAME=pepito
> HTTP_X_PAPIATTR_PASSWORD=xxxxxx
>
> Quizá es algún problema con mi modpapi.
>
> Donde puedo bajar la versión que usais vosotros de modpapi?
>
> Saludos,
> Agustín
>
>
>
>
>
> Sergio Gómez escribió:
>> Por defecto, mod_papi espera que llegue codificado en la LCOOK un
>> atributo uid, ese atributo es usado para crear REMOTE_USER. El AS debe
>> ser el que envíe el uid. Si el AS envía otro atributo distinto (como
>> ePTI), solo tienes que indicarle cual es con
>>
>> PAPIRemoteUserAttribute
>>
>> en la configuración de mod_papi
>>
>> Un saludo,
>>
>> On Fri, 2010-07-02 at 13:44 +0200, Agustin Lopez wrote:
>>
>>> Hola de nuevo!
>>>
>>> Estoy usando mod_papi como comentas pero no me llega REMOTE_USER si uso
>>> el modo PAPIWAYF built-in.
>>>
>>> ¿Teneis idea de a qué puede deberse?
>>>
>>> Muchas gracias,
>>> Agustín
>>>
>>>
>>>> Proteges el Location de tu aplicacion con mod_papi configurado en modo
>>>> 'lazy' y al
>>>> pinchar en Login, rediriges. Si vuelve ya autenticado, mod_papi te
>>>> habra definido
>>>> $_SERVER['REMOTE_USER']. Por tanto una de las primeras cosas que debe
>>>> hacer
>>>> tu aplicacion es ver si esa variable tiene valor y si es asi,
>>>> considerar que ya esta
>>>> autenticado. No haria falta que mantengas cookies locales. Si lo
>>>> haces, al pinchar el
>>>> usuario en 'logout' no basta con borrarlas, porque puede volver a
>>>> pinchar en 'Login'
>>>> y volveria a entrar sin pedirle usuario/clave por las cookies de PAPI.
>>>> El boton de
>>>> logout debe forzar el logout de PAPI para que no pase eso.
>>>>
>>>> La config. es algo como:
>>>>
>>>> <Location /cgi-bin/XXX>
>>>> AuthType PAPI
>>>> PAPILazySession On
>>>> PAPIRemoteUserAttribute ePTI # El atributo de PAPI del que sacar
>>>> 'REMOTE_USER'
>>>> Require valid-user
>>>> PAPIServiceID XXX_svcid
>>>> ...
>>>> PAPIGPoAURL ...
>>>> </Location>
>>>>
>>>> Y en la aplicacion (Consigna es PHP pero es parecido):
>>>>
>>>> if (!array_key_exists('REMOTE_USER',$_SERVER)) {
>>>> header("Location: " . <URL-de-tu-aplicacion>.
>>>> "/PAPI/cookie_handler.cgi?target=" .
>>>> urlencode($GLOBALS["script_name"]));
>>>> exit;
>>>> }
>>>>
>>>> // Aqui esta autenticado, solo algo 'superior' (mod_papi) ha podido
>>>> poner $SERVER['REMOTE_USER']
>>>> ...
>>>>
>>>> Un saludo
>>>>
>>>> P.D.: Disculpad la ausencia de acentos, mi PC tiene un problema con
>>>> ellos...
>>>>
>>>>
>>>>
>>
>>
>
--
+----------------------------------------------^-----------------------+
| Luis Meléndez Aganzo ^ Email: [log in para visualizar] |
| Servicio de Informática ^ Tlf: 34-(9)57-211022 |
| Analista - Área de Sistemas ^ Fax: 34-(9)57-218116 |
| Universidad de Córdoba (SPAIN) ^ http://www.uco.es |
+----------------------------------------------^-----------------------+
|