2017-09-20 8 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

関連する問題