Richiedi agli utenti di completare il profilo dopo l'autenticazione riuscita

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

  •  18-09-2019
  •  | 
  •  

Domanda

Sto sviluppando un registro personalizzato autonomo, un portlet di accesso personalizzato e un portlet di profili personalizzati per Websphere Portal 6.1.Alcuni utenti esistenti non hanno completato uno o più campi obbligatori nei loro profili.

La prossima volta che questi utenti accedono correttamente, come posso fare in modo che il portale li reindirizzi al portlet del profilo personalizzato Prima dando loro l'accesso al resto del sito?

È stato utile?

Soluzione

Sembra che Websphere Portal 6.1 sia dotato di un'API per l'invio di richieste di autenticazione attraverso una catena di filtri.Ho trovato un articolo che descrive l'API sui lavori degli sviluppatori ('Nuove API di sicurezza in Websphere Portal').

In particolare, l'interfaccia com.ibm.portal.auth.ExplicitLoginFilter consente di collegarsi durante la sequenza di autenticazione e modificare dinamicamente il punto in cui il sistema reindirizza dopo la convalida delle credenziali dell'utente.Ecco un esempio 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...
}

ExplicitLoginFilter e le sue dipendenze si trovano nei seguenti file jar, che devi aggiungere al tuo classpath durante la compilazione del codice:

A partire dalla directory root di Websphere Portal...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top