2017-09-20 3 views
0

Je souhaitais rediriger l'utilisateur vers la page de destination par défaut en fonction de l'accès au site Web de l'utilisateur dans liferay. J'utilise liferay DXP. Je sais comment cela peut être fait dans liferay 6.2, mais je ne sais pas comment remplacer/étendre la classe DefaultLandingPageAction dans liferay 7.Comment rediriger l'utilisateur vers une page de destination spécifique au site Web

Faites-moi savoir si quelqu'un l'a déjà fait auparavant.

Merci!

Répondre

2

Je suppose que vous essayez de rediriger l'utilisateur après la connexion.

Jetez un coup d'oeil à ceci. Devrait faire l'affaire. Placez la classe dans un groupe et ajustez la logique.

@Component(
     immediate = true, 
     property = { 
       "key=login.events.post" 
     }, 
     service = LifecycleAction.class 
) 
public class LandingPageRouter implements LifecycleAction { 
    private static Log LOG = LogFactoryUtil.getLog(LandingPageRouter.class); 

    @Reference 
    private UserLocalService userLocalService; 

    @Override 
    public void processLifecycleEvent(LifecycleEvent lifecycleEvent) throws ActionException { 
     //Do some magic 

     //build the path. 
     LastPath lastPath = new LastPath(StringPool.BLANK, path); 
     lifecycleEvent.getRequest().getSession().setAttribute(WebKeys.LAST_PATH, lastPath); 
    } 
} 

LastPath fonctionne comme dans DefaultLandingPageAction.

+0

Salut Miroslav, Merci pour l'aide. ouais j'essayais de rediriger l'utilisateur vers une page spécifique après la connexion. J'essayais d'étendre l'événement Action au lieu d'implémenter LifecycleAction. Ceci est travaillé pour moi. Merci – Dipti