Sun Java System Portal Server Secure Remote Access 7.2 관리 설명서

JavaScript DJS 함수 예제

ProcedureJavaScript DJS 함수 예제를 사용하려면

  1. 이 예제는 다음에서 액세스할 수 있습니다.

    portal-server-URL /rewriter/JavaScript/functions/djs/djs.html

  2. 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다.

    정의되어 있지 않으면 직접 연결이 가정되고 게이트웨이 URL이 앞에 덧붙지 않습니다.

  3. 이 예제에 지정된 규칙을 "JavaScript 소스 재작성을 위한 규칙" 부분의 default_gateway_ruleset에 추가하십시오(아직 없는 경우). Portal Server 관리 콘솔에 있는 Portal Server 구성의 Rewriter 서비스에서 default_gateway_ruleset을 편집합니다.

  4. 게이트웨이를 다시 시작합니다.


    ./psadmin start-sra-instance –u amadmin – f  <password file> –N <profile name>– t  <gateway>
    

재작성 전의 HTML 페이지

<html>
Test for JavaScript DJS Functions
<br>
<script>
menu.addItem(new NavBarMenuItem("All Available
Information","JavaScript:top.location=\qhttp://abc.sesta.com\q"));
//menu.addItem(new NavBarMenuItem("All Available Information","http://abc.sesta.com"));
</script>
</html>

규칙

<Function type="DJS" name="NavBarMenuItem" paramPatterns=",y"/>
<Variable type="URL" name=”top.location”/>

재작성 후의 HTML 페이지

<html>
Testing JavaScript DJS Functions
<br>
<script>
menu.addItem(new NavBarMenuItem
("All Available Information","javaScript:top.location=
\qgateway-URL/http://abc.sesta.com\q"));

// abc.sesta.com은 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 있는 항목입니다. 따라서 Rewriter는 이 URL을 다시 작성해야 합니다. 그러나 이 값은 절대 URL이기 때문에 접두어로 Portal Server URL을 사용할 필요가 없습니다. DJS 규칙은 DJS 함수 NavBarMenuItem의 두 번째 매개 변수를 다시 작성해야 한다고 지정합니다. 하지만 두 번째 매개 변수 역시 JavaScript 변수입니다. 이 변수의 값을 다시 쓰기 위해 두 번째 규칙이 필요합니다. 두 번째 규칙은 JavaScript 변수 top.location의 값을 다시 써야 한다고 지정합니다. 모든 조건이 충족되면 URL이 다시 작성됩니다.

//menu.addItem(new NavBarMenuItem("All Available Information","http://abc.sesta.com"));

// DJS 규칙에서 함수 NavBarMenuItem의 두 번째 매개 변수를 다시 써야 한다고 지정하고 있지만 이 구문에서는 다시 쓰지 않습니다. Rewriter가 두 번째 매개 변수를 단순 HTML로 인식하지 않기 때문입니다.

</script>
</html>