私の質問は非常に奇妙で、それができるかどうか完全にはわかりません。私はLiferayにSpring MVCを使用しており、次のことを達成しようとしています。私が行っているアプリケーションには、2 つの異なる URL にある 2 つのドメイン 2 ポータルがあります。ユーザーが最初のポータルにログインし、資格情報が検証された後、同じポータル内の特定のページにユーザーをリダイレクトし、別のポータルのランディング ページを新しいタブで開く必要があります。
私は次の方法でこれを達成しようとしていました。私が試した単一のログイン機能に対して2つの応答を持つことができないので、ログインリダイレクトアクションの後、liferayフック機能を使用して彼をリダイレクトするためにログインしたら.
最初のポータルのランディング ページに移動します。同じリダイレクト アクションで、ユーザーがここにログインしたことを通知する Cookie を作成します。
@Override
public void run(HttpServletRequest request, HttpServletResponse response)
throws ActionException {
try {
Cookie loginCookie = new Cookie("loged_in_confirmed","1");
response.addCookie(loginCookie);
response.sendRedirect("somePage");
} catch (Exception e) {
//TODO
}
リダイレクトによって表示されるページには、Cookie をチェックする jQuery ドキュメント対応関数があります。Cookie が存在する場合は削除され、新しいタブで別のポータルにリダイレクトされます。
ただし、新しいタブを開くと、ポップアップ ブロッカーによって常にブロックされます。私はwindow.href、window.openでターゲットを空白にして開いてみましたが、隠しリンクを追加しようとしましtarget ="_blank"
たが、それでもポップアップブロッカーが彼を取得します。私はどんな提案にもオープンです。私がやっている方法で何かが欠けているのでしょうか、それともここで完全にターゲットになっていて、これを行うにはまったく別の方法がありますか?