FILTROS Y ATRIBUTOS LDAP en la UV

Es posible atorizar o no la conexión con PAPI dependiendo de los datos del usuario almacenados en el LDAP corporativo.

Se le puede decir al AS que pase al mod_papi cualquiera de las variables LDAP; luego se puede comprobar esa variable y filtrar por su valor en la configuración del apache o en el propio programa.

Ejemplo

proteger baul/papiprot para que sólo entren los PDI/PAS:

En el AS, /usr/local/PAPI/AS/etc/UVsites.src contendrá una línea (separada para mejorar la legibilidad):

  site
  ::papiprot
  ::TEST papiprot mod_papi-uv
  ::https://baul.uv.es::/cookie_handler.cgi
  ::7200
  ::papiprot
  ::/cgi-bin/papiprot
  ::/index.sh
  ::username=,
    LDAPgecos=,
    LDAPemployeeType=

El último campo son las "assertions", serie de "atributos" separados por ",". A cada atributo le das el nombre que quieras (será el que luego verá el mod_papi) y le defines un valor en función de una variable PAPI.

El PAPI, si le pides una variable que empieze por "LDAP..." buscará su valor en el campo correspondiente del LDAP del usuario. P.e.: LDAPgecos contiendrá el "gecos" del LDAP.

En nuestro caso, el que te interesa es el último:

    LDAPemployeeType=

El mod_papi, una vez validado, recibe la asertion con todos los atributos seguiditos:


  username=hmr,LDAPgecos=Hector Miguel Rulot Segovia;P/FA11;;,LDAPemployeeType=P@UVAS

y puedes comprobarlos poniendo en la configuración del apache unos "filtros". Se aplican uno tras otro sobre toda la assertion, en el orden. En nuestro caso ponemos:


    # Filtro, para personal p.e.
    PAPIFilter LDAPemployeeType=P accept
    PAPIFilter .* reject

El primer argumento del filtro es una EXPRESION REGULAR, el segundo es "accept" o "reject".

Si no quieres comprobarlo en el apache, puedes comprobarlo en la aplicación: una vez validado, recibes en las variables de entorno los atributos:


    HTTP_X_PAPIATTR_LDAPEMPLOYEETYPE=P
    HTTP_X_PAPIATTR_LDAPGECOS=Hector Miguel Rulot Segovia;P/FA11;;
    HTTP_X_PAPIATTR_USERNAME=hmr
Universitat de Valencia

 PAPI-SSO (Single Sign On)