2017-09-14 15 views
0

Primefaces 대화 상자 프레임 워크를 사용하여 대화 상자를 여는 데 문제가 있습니다. 우리는 내부 SSO 솔루션과 통합하여 애플리케이션에 보안을 제공하기 위해 SSO 솔루션을 사용하고 있습니다.Primefaces 대화 프레임 워크 + SSO URL 재 작성

요컨대. 우리 서버의 응용 프로그램에 대한 실제 주소 (예 : sso)는 다음과 같습니다. https://appserver1.net/ctx/page.xhtml (여기서 ctx는 Google 응용 프로그램의 루트 컨텍스트 임) 정상적인 경우에는 sso 주소를 얻습니다. 예 : https://ssoaddress.net/junction/page.xhtml 여기서 junction = ctx. 요청하는 동안 sso 주소는 서버의 실제 주소를 찾기 위해 다시 쓰여지고 자원과 응답을 얻으며 sso url 주소로 다시 작성됩니다. 모든 것이 잘 작동합니다. 하지만 우리는 두 번째 env (DEV02)를 얻었습니다. 어떤 한계 때문에 우리는 sso addres를 얻었습니다! junction! = ctx는 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.