2011-09-06 89 views
1

我需要通過一個小應用程序通過套接字寫入遠程機器。該applet位於封閉醫院系統內的Intranet內,因此更改java安全文件不是問題。從Oracle站點,他們推薦以下策略更改:Java套接字權限問題

授予許可java.net.SocketPermission 「10.130.71.156:8000」,「connect,accept」; };

我已經這樣做了,但我仍然得到以下錯誤:

java.security.AccessControlException: access denied (java.net.SocketPermission [10.130.71.156:8000]resolve)  

的問題可能是什麼任何想法?

+1

你意識到'puffin.eng.sun.com'只是一個演示/佔位符地址,對吧? – Vlad

+0

是的。這不是我的許可文件中的內容。我有我嘗試連接的服務器的實際DNS。 – Elliott

+0

嘗試將主機名更改爲通配符「*」,以確保它不會混淆DNS主機名解析。 – ataylor

回答

1

存在導致錯誤的配置問題。配置文件中的IP地址與策略文件中的IP地址不匹配。這就是爲什麼有安全錯誤。在評論中推薦使用通配符的人(阿泰勒)值得回答這個問題。通配符允許我們查看正在輪詢的DNS。謝謝!

埃利奧特

2

現在的問題是配製的方式,拋出:SecurityException是因爲政策拋出不允許「決心」。該策略應該很可能是

grant {permission java.net.SocketPermission「10.130.71.156:8000」,「connect,resolve」; };