2010-03-22 93 views
1

我有一個小程序在嘗試與服務器通信(在本地主機上運行)時引發此異常。此問題僅限於Applets - POJO客戶端能夠與完全相同的服務器進行通信,而不會出現任何問題。Java:小應用程序的各種可用安全設置有哪些

Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.net 
.SocketPermission 127.0.0.1:9999 connect,resolve) 
     at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 

我applet.policy文件的內容是:

grant { 
permission java.security.AllPermission; 
}; 

我的問題是什麼是其他地方,我需要修改我的安全設置授予一個Applet更安全設置?

謝謝。


編輯:進一步調查導致我發現這個問題只發生在一些機器上 - 但不是其他機器。因此,它可能是導致此問題的機器級別(全局)設置,而不是像applet.policy文件中的應用程序特定設置。


編輯:Another SO question: Socket connection to originating server of an unsigned Java applet
這似乎是描述完全相同的問題,並提供Tom Hawtin - tackline 's answer之所以(一個安全補丁發佈,從連接到localhost禁止小程序)。牢記這一點,我該如何授予applet安全設置,以便確實可以在我的機器上運行。此外,爲什麼它在其他機器上運行,但不是我的?

+0

你在嘗試localhost還是127.0.0.1?我相信我在以前的項目中使用了localhost,並且它工作正常 – 2010-03-22 12:26:00

+0

@tim_yates是的,我使用的是「localhost」,它在內部解析爲「127.0.0.1」。但是「127.0.0.1」實際上並不出現在我的代碼中,如果這就是你的意思。 – bguiz 2010-03-22 12:38:10

+0

您是否嘗試過簽署applet JAR文件並查看會發生什麼? – 2010-03-22 12:50:00

回答

1

看到這個:http://sunsolve.sun.com/search/document.do?assetkey=1-66-246387-1,很顯然,Applets從本地主機運行(未部署到網絡服務器)不能訪問本地主機

沒有解決此問題的指示

4.解決方法

有沒有辦法解決這個問題。 請參閱下面的解析部分 。

我的建議如下:

它規定:

用戶誰驗證您的簽名可以 授予您的JAR捆綁軟件 安全特權它通常不會有 。

  • 運行從網絡服務器(例如Tomcat)的小程序,並在本地訪問它通過你的瀏覽器。
相關問題