2017-03-31 15 views
0

최근에 WPS v7.0에서 v8.5로 업그레이드되었습니다. 우리는 포틀릿과 코드의 일부를 업데이트하여 새로운 플랫폼 (v8.5)과 호환되도록했습니다. 그러나 우리는 몇 가지 정보를 찾고있는 몇 가지 특이한 행동을 발견했습니다. 여기 간다 :WebSphere Portal 8.5 + 동작 URL +에 컨텍스트 경로에 쿠키 값이 포함됨

전제 :이 포틀릿은 이전 WPS의 V7에서

등 오하이오 , 뉴욕 뉴욕에 대한을, 예 코드의 형태로 지역에 대한 쿠키를 사용합니다. 0 인 경우 생성 된 포틀릿 동작 URL의 형식은

http://<host>:<port>/wps/portal/!ut/p/b1/04_SjzQ0M.... 등입니다.

이제 새 플랫폼 (v8.5)에서 URL은 아래 양식과 약간 다릅니다.

http://<host>:<port>/wps/portal/oh/!ut/p/z1/pZBNCsIwE...

는 (뉴욕의 경우)

http://<host>:<port>/wps/portal/ny/!ut/p/z1/pZBNCsIwE... (오하이오의 경우)

지금 특이한 부분에오고. 8.5의 URL에는 쿠키 값 (이 경우 오하이오에서는 오)이 컨텍스트의 일부로 포함되어 있습니다.

ActionURL 태그 및 기타 URL 구현 클래스 (예 : BasicURLImpl, BaseURLImpl, PortletURLProviderImpl)를 추적하고 검사했지만 생성되는 동안 쿠키 값이 작업 URL에 포함되는 방법에 대한 단서를 찾지 못했습니다.

편집

: 나는 (이 게시물 다음 WebSphere Portal decode url) URL을 디코딩 할 수 있었다 쿠키 값이 공유 매개 변수 (전역)로 오는 것을 보았다 대중이 매개 변수를 렌더링으로 내가 그들을 생각하는 (REF IBM WebSphere Portal Remote State Service and Fragment Service을). 여기에 아래의 URL 디코딩 출력의 예제 발췌 :이 시점에서

<shared-parameters id="global"> 
    <shared-parameter nsuri="http://www.ibm.com/xmlns/prod/websphere/portal/publicparams" localpart="path-info"> 
     <value>oh</value> 
    </shared-parameter> 
</shared-parameters> 

, 내 의견은 어떻게 든 값이 매개 변수를 렌더링 공개로 설정하지만 방법을 잘되고있는 쿠키입니다.

Google의 목표는 쿠키 값을 URL의 일부로 사용하지 않는 것입니다. 선호하는 결과를 얻는 방향에 도움이되는 설정, 구성 또는 기타 모든 단서에 감사드립니다.

감사합니다.

답변

0

actionURL 만들기를 통한 디버깅 후 관찰 된 경로에서 쿠키 값이 친숙한 경로로 전달되고 있음을 알 수 있습니다. 현재로서는 이러한 가치가 어떻게 우호적 인 길로 전달되고 있는지에 대해 생각하지 마십시오.

에서 자원 환경 제공>WP ConfigService>사용자 정의 속성

를 추가

PortletURLImpl 
    .provider 
        .request (PortletRequestWRapper). 
            .request(ExtendedLocaleRequest). 
                .request(ExtendedLocaleRequest). 
                    .request(FriendlySelectionHttpServletRequestWrapper) 
                        .friendlyPath= /oh 
                        .contextPath = /wps 
                        .originalPathInfo =  / 
                        .pathInfo =/
                        .servletPath= /portal 
                        .request (MappingURLRequestWrapper) 
                            .contextPath = /wps 
                            .servletPath= /portal 
                            .originalPathInfo = /oh 

가 마지막으로 문제가 지금에 다음과 같은 속성을 추가하여 고정되어 관리 콘솔 WAS 속성

이름 : friendly.pathinfo

거짓 설명 : URL 매핑과 친화적 인 URL이 URL의 일부로서, 콘텐츠 항목에 대한 경로 정보를 포함 할 수 있는지 여부

값을 .enabled.