2011-07-12 58 views
2

我對以下情形有疑問:我寫了一個客戶端和服務器,它們共享兩個常見項目並與RMI通信,並且只在當前階段在本地運行。 在server.policy文件我寫:客戶端策略文件的RMI使用情況

grant codeBase "file:C:/webui/client/bin/-" { 
    permission java.security.AllPermission; 
}; 

grant codeBase "file:C:/webui/common1/bin/-" { 
    permission java.security.AllPermission; 
}; 

grant codeBase "file:C:/webui/common2/bin/-" { 
    permission java.security.AllPermission; 
}; 

對於我試圖 授權代碼庫客戶端 「的文件:C:/ WebUI中/客戶端/ bin中/ - 」{ 權限java.security.AllPermission; };

grant codeBase "file:C:/webui/common1/bin/-" { 
    permission java.security.AllPermission; 
}; 

grant codeBase "file:C:/webui/common2/bin/-" { 
    permission java.security.AllPermission; 
}; 

grant codeBase "file:C:/webui/server/bin/-" { 
    permission java.security.AllPermission; 
}; 

但我得到與隱蔽消息等(org.osgi.framework.ServicePermission(service.id = 37)得到)和(fava.io.FilePermissionÇ存取遭拒:\工作空間\ webui.metadata.plugins \ org.eclipse.pde.core \ webui \ 1310480250513.log閱讀)。 它的工作原理是如果我授予客戶端的所有內容。

我不知道爲什麼,但它是可能的,我沒有完全理解的.policy文件..概念;)

+0

這看起來不像文件URL的正確語法。 –

+0

我受到Apache catalina.policy文件的啓發://這些權限適用於javac 授予codeBase「file:$ {java.home}/lib/- 」{ permission java.security.AllPermission; }; – WorstCase

回答

5

與爲-Djava.security.debug =訪問,故障運行的JVM。輸出將顯示哪些安全域(即本質上,代碼庫)需要哪些權限。