2010-03-23 54 views
5

可用的其他實現(例如,在OSS項目中)是否有比JDK中的功能更多的功能?可用的其他SecurityManager實現?

我要找的功能,如

  • 配置在運行時
  • 政策更新在運行時,從超過security.policy文件
  • 線程感知,例如,其它數據源讀取每個線程的不同策略
  • 更高級別的策略「禁用網絡功能,但允許JDBC流量」
  • 常用的預定義策略「允許讀取常用系統屬性,如file.encodingline.separator,但不允許讀取user.home」
  • 監視和審計跟蹤日誌記錄「記錄所有文件的訪問,記錄所有的網絡訪問會不給knownhost.example.org」
  • 阻斷工作「要求」許可,直到管理員授予權限,讓線程/工作繼續
  • ...

我很確定應用程序服務器(至少是商業應用程序服務器)有自己的SecurityManager實現或至少他們自己的策略配置。我想知道是否有任何類似要求的免費項目。

+0

你有沒有「找到」一個解決方案? – 2011-08-24 10:15:46

+0

不,我沒有真正找到合適的庫,它提供了SecurityManager的複雜實現 – mhaller 2011-09-12 14:53:20

回答

2
  • 動態ProtectionDomains(介紹1.4 IIRC),委託給可修改的Policy
  • 通過線程確定權限是非常棘手的。小程序安全managaer通過ThreadGroup,這通常被認爲是一件壞事。
  • 您可以允許連接到特定的端口。同樣,您可以擁有一個特權JDBC驅動程序,該驅動程序可能通過AccessController.doPrivileged代理到另一個聲明特定權限的驅動程序。
  • 可以爲每個單獨的密鑰指定系統屬性的權限。
  • AccessController在Sun/Oracle實施中具有跟蹤功能。
  • Applets/WebStart將顯示一個對話框,例如打印。但JNLP服務方法要好得多。

「Glossitope」試圖讓系統在每次請求權限時彈出一個對話框。當然,對於只想看跳舞的豬的用戶來說這個要求沒有任何意義。 (Glossitope是Vista側面板Java版本的一個嘗試,添加到6u10的功能(拖放安裝,非矩形窗口,警告圖標而不是橫幅,JNLP服務)使其成爲主要冗餘。)

相關問題