2017-09-20 3 views
0

사용자가 평생 동안 누리고있는 웹 사이트 액세스를 기반으로 기본 방문 페이지로 리디렉션하고 싶습니다. liferay DXP를 사용하고 있습니다. liferay 6.2에서 어떻게 수행 할 수 있는지는 알고 있지만 liferay 7에서 DefaultLandingPageAction 클래스를 재정의/확장하는 방법을 알지 못합니다.사용자를 웹 사이트 방문 페이지로 리디렉션하는 방법

아무도이 작업을 수행하지 않았 으면 알려주세요.

감사합니다.

답변

2

로그인 후 사용자를 리디렉션하려고한다고 가정합니다.

이것 좀보세요. 트릭을해야 할 것입니다. 클래스를 번들에 놓고 논리를 조정하십시오.

@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는 DefaultLandingPageAction에서와 같이 작동합니다.

+0

안녕 Miroslav, 도움에 감사드립니다. 예, 로그인 후 특정 페이지로 사용자를 리디렉션하려고했습니다. LifecycleAction을 구현하는 대신 Action 이벤트를 확장하려고했습니다. 이것은 나를 위해 일했습니다. 감사 – Dipti

관련 문제