Exigir que os usuários perfil completo seguintes autenticação bem-sucedida

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

  •  18-09-2019
  •  | 
  •  

Pergunta

Estou desenvolvendo um registro independente costume, portlet de login personalizado e perfil personalizado portlet para o WebSphere Portal 6.1. Alguns usuários existentes não tenham concluído um ou mais campos obrigatórios em seus perfis.

A próxima vez que registrar esses usuários em sucesso, como posso obter o portal para redirecioná-los para o portlet perfil personalizado antes dando-lhes acesso ao resto do site?

Foi útil?

Solução

Parece que Websphere Portal 6.1 vem com uma API para envio de solicitações de autenticação através de uma cadeia de filtros. Eu encontrei um artigo que descreve a API em obras de desenvolvimento ( ' APIs de segurança Novo no WebSphere Portal ').

Em particular, a interface com.ibm.portal.auth.ExplicitLoginFilter permite que você conecte durante a seqüência de autenticação e alterar dinamicamente onde os redirecionamentos sistema após as credenciais do usuário são validadas. Aqui está um exemplo apagou:

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...
}

O ExplicitLoginFilter e suas dependências estão localizados nos seguintes arquivos jar, que você deve adicionar ao seu classpath ao compilar o código:

A partir de seu diretório raiz Websphere Portal ...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top