2009-09-13 39 views
6

我發現,我必須寫一個策略文件的權限授予我的小程序...其中需要客戶端訪問資源的權限的我的小程序的策略文件位置?

,但我真的與它混淆... :(

我想要寫一個小程序,是地圖查看器,我需要保存圖像瓷磚上的客戶端運行我的小程序本地訪問瓷磚的增益速度和時間安全查看地圖這是有益於用戶...

因此,小程序需要授予權限讀/寫和創建目錄在客戶端TEMPDIR。

現在,我想要寫一個政策文件,以獲得燙髮ission到我的小應用程序,我不希望給用戶這個涉及,而不是,我想自己寫策略文件授予的小程序許可...

現在哪裏是政策文件的位置?在applet jar文件中? 小程序如何使用策略文件?

請幫我

+0

閱讀所有這些評論後,我仍然感到困惑。我的問題是你是否需要簽署和修改策略文件,或只需簽署小程序。 我相信那是原來的問題。 – 2010-05-06 04:48:04

回答

4

簡單的答案是否定的,您不能遠程更改策略。如果您可以覆蓋用戶計算機上的策略,那麼安全性在哪裏?

在企業環境中,這是有可能通過桌面管理/配置系統。如果你想測試,你可以手動更新策略文件。它位於Windows上,

${user.home}\java.policy 
    ${java.home}\lib\security\java.policy 

第一個更改單個用戶的策略,第二個更改策略影響整個系統。

4

使用策略文件是不是一個好主意,因爲它太複雜,用戶編輯。相反,您應該獲得一份證書(費用爲$ 200 - $ 400 /年)並簽署您的小程序。將允許您訪問文件。

您可以嘗試一個可以免費生成的測試證書。 This可能會有所幫助。

+0

+1用於簽署小程序 – 2009-09-15 20:19:48

2

您需要登錄您的小程序,然後在這樣的代碼特權塊包裹文件操作。

  final String location = locationVal; 

    File f = (File) AccessController.doPrivileged(new PrivilegedAction() 
    { 
     public Object run() 
     { 
      System.out.println("Getting File : " + location); 
      File outputFile1 = new File(location); 
      return outputFile1; 
     } 
    }); 

對於參考的JRE策略文件的默認位置如下

在Windows機器上。

C:\ Program Files文件\的Java \ JRE版本\ lib \ security中\ java.policy中

Java 6的更新13策略存儲在這裏

C:\ Program Files文件\的Java \ jre1.6.0_13 \ lib \ security中\ java.policy中

如前所述上面,你不能,而無需訪問本機編輯這個文件。

相關問題