2010-10-01 49 views
4

我有一個applet(java),它將一些文件寫入客戶端文件系統。在Chrome和IE中完美工作,也是Firefox,只有當我用管理員權限運行它。 (右擊 - >以管理員身份運行)。該解決方案對於企業應用程序來說看起來不合適。爲什麼簽名的applet無法使用firefox將文件寫入客戶端文件系統?

順便說一句,小程序是大型企業Web應用程序的一部分。所以我沒有客戶端能夠以管理員身份運行Firefox的安全性。

+1

給出完整的堆棧跟蹤(如果有例外),或描述問題是什麼,如果沒有異常 – Bozho 2010-10-01 16:24:33

+0

例外是關於IO File權限否認。我無法寫入文件...我需要一個位置,我可以在客戶端機器上寫入文件.. – oracleruiz 2010-10-05 20:57:44

回答

1

存儲應用程序數據的好地方在user.home的子目錄中。根據主類的包名稱使用子目錄,以避免'settings.dat'與我們的'settings.dat'相沖突!


爲了使其更加「友好的Windows」(當相關屬性指示贏。當然!)對於任何Java應用程序設置的根目錄下。可能是$ {user.home}/AppData/Local/Java/

+0

謝謝你的想法。 Java中的代碼是:System.getProperty(「user.home」)以獲取用戶主目錄的路徑。再見! – oracleruiz 2010-10-12 19:40:22

1

難道是Firefox本身沒有權限寫你想要寫入的地方嗎?

+0

umm no ..我不這麼認爲。我正在使用Firefox中的「。」寫入Firefox內部的本地數據。這是我擁有applet能夠編寫的安全性的地方。在文件系統的其他部分,我不確定權限。 – oracleruiz 2010-10-01 18:05:54

+1

我會說「。」很可能是問題原因的候選人。微軟警告不要將當前目錄的概念用於多線程應用程序,特別是多線程應用程序。所以我想這*是問題。出於測試目的,您可以使用絕對路徑,您肯定知道Firefox可以訪問該路徑(類似c:\ temp)。這樣你就可以縮小問題的範圍。 – 2010-10-01 18:50:51