2012-06-20 5 views
1

내 웹 사이트가 .Net에서 실행되고 있으며 SDL Tridion 2009를 사용하고 있습니다. 사용자가 로그인하면 REMOTE_USER 변수가 올바르게 저장되어 있음을 알 수 있습니다. claim 저장소의 taf : server : variables 그룹 (.net 스크립트 사용).taf에서 REMOTE_USER를 가져 오는 주변 데이터 프레임 워크 : server : Java의 변수

내 카트리지 (java)에서이 값을 추출하려고하는데 클레임 저장소에있는 모든 값을 인쇄 할 때이 값이 비어 있음을 알 수 있습니다.

내 자바 코드는 다음과 같습니다

Map serverParameters = (Map)claimStore.get(WebClaims.SERVER_VARIABLES); 

for (Object key: serverParameters.keySet()) { 
    log.debug("Key : " + key.toString() + " Value : " + serverParameters.get(key)); 
} 

업데이트 : ',

<InputClaims> 
    <ClaimDefinition Uri="taf:server:variables" /> 
</InputClaims> 

이 불행하게도 넣은 사람은 아니다 도움 :

내 카트리지의 구성은 다음과 inputclaim을 포함 또한 taf : server : variables : remoteuser/remote_user/*를 시도했지만 성공하지 못했습니다.

로그를 검사 할 때 REMOTE_USER 키가 표시되지만 값이 비어 있습니다.

다른 사람이이 시나리오를보고 해결책을 알고 있는지 궁금합니다.

+0

타이밍 문제? 값을 설정하기 전에 카트리지가 실행 중입니까? –

+0

키가있는 경우 값을 설정해야합니다 (적어도 내가 결정할 수있는 한). 그러나 실제로 확실한 것은 카트리지 구성에서 REMOTE_USER 변수에 의존하고 있음을 나타 냅니까? –

+0

고마워요, 나는 이걸 시도했지만 잘못된 주장의 URL을 가지고 용의자. 내 질문을 업데이트했습니다. – johnwinter

답변

3

요청이 인증없이 완료된 경우 (즉, 익명 액세스가 허용 된 경우) REMOTE_USER이 (가) 비어있는 것은 완전히 유효합니다.

그래서 가장 분명한 문제로 보입니다. 항상 설정 될 것으로 기대해서는 안되지만 서버의 관련 URL에 대한 인증 체계를 적용하여 카트리지가 처리 할 수있는 상황에서 올바르게 채워지도록 할 수 있습니다.

P. 서버 변수가 카트리지에 의해 설정되지 않고 HTTP 모듈에 의해 설정되기 때문에 입력 요청 섹션은이 경우 적합하지 않습니다. 입력 및 출력 클레임은 카트리지 간의 종속성 (따라서 순서)을 결정하는 데에만 사용됩니다.