« Anterior - Versión 3/5 (diff) - Siguiente » - Versión actual
Emilio Penna, Viernes, 1 de Abril de 2016 13:13:27 -0300


Opciones para protección de contenido web

Fragmento de:
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPProtectContent

There are two ways that you can use the SP to protect content:

  • Actively, by intercepting requests for particular resources and ensuring that a valid, authenticated session exists between the user agent and the SP software before passing along the request
  • Passively, by publishing information about valid, authenticated sessions through CGI, but passing unauthenticated requests through unmolested

In both cases, the information about the session supplied by the SP is provided uniformly so that applications can be programmed to respond dynamically based on the information.

Protección Activa:

Se puede proteger la webapp completa, indicando en el Location de apache la raiz de la aplicación.

Si la aplicación tiene alguna parte que deberia ser publica, se puede agregar en un segundo directorio o aplicación no protegido.
Este es el caso del map, donde el usuario primero ingesa a una parte publica (portalmap) donde hay viculos, y algunos de ellos son a la aplicación privada, protegida (map).
En este caso se protege la aplicacion completa (map) con shibboleth.

Ej:

/webapps/portalmap
/webapps/map (protegido con shibboleth)

Protección Pasiva:

(O cómo utilizar autenticación shibboleth en una aplicación sin proteger toda la web application)

Opción 1: proteger sólo una pagina de inicio de sesión (de la aplicación)
Se configura apache para proteger dicha página.
Esta es la forma que usa moodle (https://moodle.org/auth/shibboleth/README.txt)

Opción 2: usar el SessionInitiator del SP (la aplicación debe tener un botón de login que redirige a la pagina de inicio de sesión por defecto que tiene el SP)

Se puede usar el mecanismo de "lazy session", donde para cierta pagina o location se indica que es "opcional" tener una sesión iniciada. En caso de que la haya, el SP carga las variables de entorno con los atributos informados por el IdP, para que estén accesibles para la aplicación.

Refs:

https://aai-demo.switch.ch/lazy/
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPProtectContent
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPEnableApplication
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPSessionCreationParameters