Exigir a los usuarios a completar el perfil después de la autenticación exitosa

StackOverflow https://stackoverflow.com/questions/1687199

  •  18-09-2019
  •  | 
  •  

Pregunta

Estoy desarrollando un registro independiente de encargo, de portlets inicio de sesión personalizado, y el perfil de portlets personalizados para WebSphere Portal 6.1. Algunos usuarios existentes no han completado uno o varios campos obligatorios en sus perfiles.

La próxima vez que estos usuarios inician sesión en el éxito, ¿cómo puedo obtener el portal de hacerlos volver al portlet de perfil personalizado antes dándoles acceso al resto del sitio?

¿Fue útil?

Solución

Parece que Websphere Portal 6.1 viene con una API para el envío de solicitudes de autenticación a través de una cadena de filtros. He encontrado un artículo que describe la API en las obras de desarrolladores ( ' API de seguridad Novedades de WebSphere Portal ').

En particular, la interfaz com.ibm.portal.auth.ExplicitLoginFilter le permite enchufar durante la secuencia de autenticación y cambiar de forma dinámica donde el sistema vuelve a dirigir después de las credenciales del usuario se validan. Aquí es un ejemplo stubbed:

public class CustomLoginFilter implements ExplicitLoginFilter {
    public void login(HttpServletRequest req, HttpServletResponse resp, 
        String userId, char[] password, 
        FilterChainContext portalLoginContext, Subject subject, 
        String realm, ExplicitLoginFilterChain chain) 
        throws LoginException, WSSecurityException, 
        com.ibm.portal.auth.exceptions.LoginException {  

        //Validate the user's credentials.
        chain.login(req, resp, userId, password, portalLoginContext, subject, realm);  

        //Redirect to profile portlet if required profile fields are incomplete.
        if(incompleteProfile(userId)) {
            portalLoginContext.setRedirectURL(getURLForProfilePortlet());
        }
    }

    //Other methods...
}

El ExplicitLoginFilter y sus dependencias se encuentran en los siguientes archivos JAR, que se debe agregar a su ruta de clases al compilar el código:

A partir de su directorio raíz de Websphere Portal ...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top