2011-03-04 5 views
0

모두 appletviewer.jar를 포함한 모든 jar 파일에도 서명했습니다. 나는 최신 버전의 JDK를 실행 중이다. 나는 오늘 오후까지 애플릿을 성공적으로 실행하고 보았지만, 갑자기이 예외가 발생했습니다. 나는 무슨 일이 일어나고 있는지 이해할 수 없다 ... 제발 도와주세요. 애플릿 사용 권한이 거부되었습니다.

exception: Permission denied: null. 
java.lang.SecurityException: Permission denied: null 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.SecurityException: Permission denied: null 
Exception in thread "thread applet-applet.EmbeddedViewerApplet.class-3" java.lang.SecurityException: Permission denied: http://localhost:8080/ExtraCare/resources/appletviewer.jar 
    at sun.plugin.util.GrayBoxPainter.setProgressFilter(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.setupGrayBoxPainter(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.showAppletException(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

당신에게 미 히어 Parekh 씨 +91 94266 21000 감사드립니다.

+0

당신은 어떤 VCS를 사용합니까? 그렇다면 어떤 변화가 생겼는지 살펴볼 수 있습니다. –

+0

http URL에 애플릿 태그가없고 파일 URL에 코드가 있습니다. 그렇습니까? –

답변

-1

doPrivileged 블록에서 호출을 래핑 할 수 있습니다. 미리 호출 할 메소드에서 checkPermission을 호출 할 수 있습니다. 다음은 유용한 두 가지 기사입니다. http://download.oracle.com/javase/1.4.2/docs/api/java/security/AccessController.html

http://www.raditha.com/java/sandbox/unsigned.php

그러나 당신이 JNLP 배포를 사용하는 경우, System.setSecurityManager (NULL)이 문제를 해결해야하며, 당신은 당신이 효과적으로 많은 번거 로움없이 브라우저 샌드 박스를 탈출 할 수 있도록, 애플릿의 더 많은 권한을 갖습니다 . 그러나 그렇게하는 것은 좋은 습관이 아니라 실제로 애플릿 사용자를 악성 코드에 노출시키는 것입니다.

+0

보안 관리자를 지우면 프로세스에서 실행중인 모든 코드에 대한 보안 제한 사항이 제거됩니다. 보안이 필요한 프로세스에서 보안을 철회하기 위해 코드를 용도 변경하지 못하도록해야합니다. 비슷하게 자유로운 sprinkling of doPrivileged는 문제가 될 수 있습니다. –

+0

"그러나 jnlp 배포를 사용하면 System.setSecurityManager (null)로 문제가 해결되고 애플릿에 대한 더 많은 권한을 갖게됩니다." 임베디드 애플릿과 JWS가 앱을 실행하는 방식에는 차이가 없습니다. 이 경우에 일하십시오. System.setSecurityManager (null)를 호출하려면 두 가지 모두를 신뢰할 수 있어야하며 이렇게하면 거의 동일한 효과가 나타납니다. –

관련 문제