2012-06-20 65 views
2

我有一個運行在瀏覽器中的小程序。儘管拒絕權限,Applet加載

我期望當使用拒絕小程序運行的權限時,它不應該運行並給出AccessControlEception或類似的東西。

然而,令人驚訝的是,即使在用戶拒絕權限之後,小程序仍然繼續運行。這是來自Java控制檯的跟蹤的一部分。

security: Checking if certificate is in Deployment denied certificate store 
security: Checking if certificate is in Deployment permanent certificate store 
security: Checking if certificate is in Deployment session certificate store 
security: User has denied the priviledges to the code 
security: Adding certificate in Deployment denied certificate store 
security: Added certificate in Deployment denied certificate store 
basic: Applet loaded. 
basic: Applet resized and added to parent container 

是不是預計在用戶拒絕特權後,applet不應該加載? 這是怎麼回事?

+1

您是否複製/粘貼該輸出?我發現很難相信甲骨文會在這種情況下錯誤地拼寫'特權'。瀏覽器使用什麼JRE?這個applet需要信任的是什麼?更好的是,你的[SSCCE](http://sscce.org/)在哪裏? –

+0

雅,我沒有複製/粘貼輸出,並且'權限'確實拼寫錯誤在輸出中。總之,我想我得到了解決方案。如果用戶拒絕權限,則小程序仍會以有限權限加載,如果用戶授予權限,則小程序將加載所有權限。 –

回答

2

如果請求了額外的權限但被拒絕,則小程序將繼續正常運行。否則,你可能會破壞頁面區域。小應用程序的作者可能會決定繼續使用標準的小應用程序功能或顯示某種權限被拒絕的消息。不幸的是,許多小程序的質量都很差(這對於應該信任的代碼來說有點令人擔憂),他們只是拋出了異常。

1

..想法我得到了解決方案。如果用戶拒絕權限,則小程序仍會以有限權限加載,如果用戶授予權限,小程序將加載所有權限

您認爲是錯誤的。如果Iced Tear JRE請求擴展權限且用戶拒絕,則它將不會加載該applet。這是一個決定,歸結於JRE的製造商。