2017-09-14 3 views
0

Primefaceダイアログフレームワークを使用してダイアログを開く際に問題があります。 SSOソリューションを使用して、社内SSOソリューションとの統合により、アプリケーションにセキュリティを提供しています。Primefacesダイアログフレームワーク+ SSO URLリライト

要するに、 サーバー上のアプリケーションへの実際のアドレス(例:sso)は次のとおりです。https://appserver1.net/ctx/page.xhtml(ctxはアプリケーションのルートコンテキストです) 普通の場合、ssoアドレスが得られます。例:https://ssoaddress.net/junction/page.xhtml junction = ctx。リクエスト中にssoアドレスが書き直され、私たちのサーバの実際のアドレスを検索し、リソースとレスポンスを取得して、sso urlアドレスに書き直します。すべてうまく動作します。しかし、私たちは2番目のenv(DEV02)を取得しています。これにはいくつかの制限のために、junction!= ctxのようなsso addresがあります:https://ssoaddress.net/junction/ctx/page.xhtml。その場合、ダイアログを開くときに、私は情報を取得しました:"page.xhtmlがリソースとしてExternalContextに見つかりません"。

ジャンクション= CTXの作業コード:

public void openTestPage() {   
    Map<String,Object> options = new HashMap<String, Object>(); 
    options.put("resizable", false); 
    options.put("draggable", true); 
    options.put("modal", true); 
    options.put("height", 250); 
    options.put("contentHeight", "100%"); 
    options.put("closable", true); 
    RequestContext.getCurrentInstance().openDialog("/pages/page", options, null); 
} 

という事実への接合は書き換え時の状況とは異なっていることが要求されたpage.htmlを見つけることができません。多分あなたの誰かがこの問題を解決する方法を知っていますか?私は、アプリケーションのコンテキストを書き換えることはできないと付け加えます。 技術情報:primefaces 6.0、JSF2.2、weblogic 12.2.1。 リソースの構造:src/main/webapp/pages/page.xhtml

+1

junction!= ctxの場合はすべてが失敗すると思いますか? PFダイアログフレームワークだけでなく、例えば。サーバー側からも通常の「リダイレクト」... – Kukeltje

答えて

0

いくつかの制限のために悪いURLの書き換えを修正することはできませんので、別の書き換えでそれを修正して残しています。

サーバーとssoの間に別のプロキシを置くことができます。これは書き換えを行います。
または、あなたのアプリですぐに書き直すことができます。独自のサーブレットフィルタを作成したり、サードパーティのソリューションを使用することができます。 PrettyFaces