Demander aux utilisateurs de compléter le profil suivant une authentification réussie

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

  •  18-09-2019
  •  | 
  •  

Question

Je développe un registre autonome personnalisé, portlet de connexion personnalisé et Profil personnalisé portlet pour Websphere Portal 6.1. Certains utilisateurs existants n'ont pas suivi un ou plusieurs champs obligatoires dans leurs profils.

La prochaine fois que ces utilisateurs se connectent avec succès, comment puis-je le portail pour les rediriger vers le profil personnalisé portlet avant en leur donnant accès au reste du site?

Était-ce utile?

La solution

Il ressemble à Websphere Portal 6.1 est livré avec une API pour envoyer des requêtes d'authentification par une chaîne de filtres. J'ai trouvé un article décrivant l'API sur les travaux de développement ( ' nouvelles API de sécurité dans Websphere Portal ').

En particulier, l'interface com.ibm.portal.auth.ExplicitLoginFilter vous permet de brancher pendant la séquence d'authentification et de modifier dynamiquement où le système réoriente après validation des informations d'identification de l'utilisateur. Voici un exemple bouchonné:

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

Le ExplicitLoginFilter et ses dépendances sont situés dans les fichiers jar suivants, vous devez ajouter à votre classpath lors de la compilation de votre code:

A partir de votre portail Websphere répertoire racine ...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top