2012-03-04 1 views
0

모두!java.security.AccessControlException을 사용하여 javascript에서 서명 된 애플릿 함수 호출 : 액세스가 거부 됨

나는 다음과 같이 간단한 함수와 서명 된 애플릿 (HTML에서 이름 결과)이 있습니다

public void killApplet() 
    { 
     AccessController.doPrivileged(new PrivilegedAction<Object>(){ 
      //@Override 
      public Object run() { 
      // kill the JVM 
      System.exit(0); // or any other line here 
      String str = "any string"; 
      return null; 
     } 
    }); 
    } 

자바 스크립트 코드가 같다 : I 버튼을 클릭하면

function exec_java() { 
     document.result.killApplet(); 
    } 

것은 실행을 java 함수 :

<button type="button" id="buttontest" onclick="exec_java()">test</button> 

다음과 같이 예외가 표시됩니다.

java.security.AccessControlException: access denied 

(java.io.FilePermission C:\Program Files\Java\jdk1.6.0_18\bin read) 
나는 다음과 같이 IE 버전의 Windows XP를 사용하고

:

IE 7

비전 : 7.0.5730.13

모든 전문가 어떻게 나에게 단서를 얻을이 예외가 사라하려면? 또한, 여기에 이상한 것은 내가 다음과 같은 문제없이 간단한 함수를 호출 할 수 있습니다 :

 public int getNumberOfLines(){ 
      return number_of_lines; 
     } 

어떤 도움을 주시면 감사하겠습니다! 추신 : 분명히 내가 '새롭다'는 이유로 이미지를 게시 할 수 없습니다! 작업 샘플을 사용하는 사람이 있습니까?

AccessController.doPrivileged(new PrivilegedAction<Object>() 

고마워요!

우 바이

답변

0
// kill the JVM 
System.exit(0); 

애플릿은 다른 애플릿을 호스팅 할 수있는 웹 페이지에서 손님입니다. System.exit(n)으로 전화하는 것은 손님이 게스트 하우스를 태우는 것과 같습니다. 그렇게하지 마십시오! 이와 같이, 신뢰할 수있는 애플릿조차도 메소드를 호출 할 수 없습니다.

애플릿을 종료하는 더 좋은 방법은 호출하는 것입니다 :

showDocument(thanksForUsingOurAppletURL); 
+0

정말 이렇게 빨리 내 질문에 대답을 주셔서 감사합니다! 내 요점은 "System.exit (0);"이 아닙니다. 이 줄. 대신 "string a = 'any thing';"과 같은 다른 함수로 변경합니다. "개체가이 속성이나 메서드를 지원하지 않습니다."라는 또 다른 예외가 여전히 있습니다. 나는 웹상의 거의 모든 것을 읽으려고 노력해왔다. 아무도 나를 정말로 도울 수 없나요? – wubi

관련 문제