JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 AWTPermission

java.lang.Object
  繼承者 java.security.Permission
      繼承者 java.security.BasicPermission
          繼承者 java.awt.AWTPermission
所有已實作的介面:
Serializable, Guard

public final class AWTPermission
extends BasicPermission

此類別用於 AWT 權限。AWTPermission 套件含一個目標名稱,但是不包括操作列表;您可以有指定的權限,也可以沒有。

目標名稱是 AWT 權限的名稱(參見下面內容)。命名約定遵守層次結構屬性命名約定。另外,可以用星號來表示所有的 AWT 權限。

下表列出了所有可能的 AWTPermission 目標名稱,並描述了每個名稱允許何種權限,還討論了授權程式碼權限的風險。

權限目標名稱 權限允許的操作 允許權限所帶來的風險
accessClipboard 向 AWT 剪貼板發送資訊,以及獲取來自 AWT 剪貼板的資訊 這將允許非法程式碼共享潛在的敏感(或機密)資訊。
accessEventQueue 存取 AWT 事件佇列 檢索 AWT 事件佇列之後,惡意程式碼可能窺視甚至從其事件佇列中移除現有的事件,也可能蓄意發出虛假事件,這些虛假事件可能以不安全的方式導致應用程序或 applet 行為異常。
accessSystemTray 存取 AWT SystemTray 實例 這將允許使用惡意程式碼將托盤圖標 (tray icon) 添加到系統托盤。首先,這樣的圖標看起來可能類似於某些已知應用程序的圖標(比如防火牆或殺毒軟體),它會命令使用者做一些不安全的事(說明發佈大量虛假訊息)。其次,系統托盤可能被托盤圖標所充斥,從而無法再添加托盤圖標。
createRobot 創建 java.awt.Robot 物件 java.awt.Robot 物件允許程式碼產生本機級別的鼠標和鍵盤事件,還允許讀取螢幕內容。它可能允許惡意程式碼控制系統、運行其他程序、讀取顯示內容,以及拒絕使用者存取鼠標和鍵盤。
fullScreenExclusive 進入全屏獨佔網要 進入全屏獨佔網要允許直接存取低層的顯卡記憶體。這可能欺騙系統,因為程序直接控制了顯示。
listenToAllAWTEvents 在系統範圍內偵聽所有 AWT 事件 添加 AWT 事件偵聽器後,惡意程式碼可能掃瞄系統中指派的所有 AWT 事件,從而允許它讀取所有使用者輸入(如密碼)。每個 AWT 事件偵聽器都是從該事件佇列的 EventDispatchThread 上下文中調用的,因此,如果同時啟用了 accessEventQueue 權限,那麼惡意程式碼就能在系統範圍內修改 AWT 事件佇列的上下文,從而以不安全的方式導致應用程序或 applet 行為異常。
readDisplayPixels 從顯示器螢幕讀回像素 介面(如 java.awt.Composite 介面)或 java.awt.Robot 類別允許任意程式碼檢查顯示器上的像素,這使得惡意程式碼能窺探使用者的活動。
replaceKeyboardFocusManager 設置特定執行緒的 KeyboardFocusManager當安裝 SecurityManager 時,必須將此權限授權給調用執行緒,以便替代當前的 KeyboardFocusManager。如果沒有授權,則拋出 SecurityException
setAppletStub 設置實作 Applet 容器服務的 stub 惡意程式碼可能設置 applet 的 stub,這將導致不可預料的行為或拒絕對 applet 服務。
setWindowAlwaysOnTop 設置視窗的 always-on-top 屬性: 惡意視窗可能會偽裝成一個真實完整的桌面,於是,對此毫不懷疑的使用者輸入的資訊將會被捕獲,隨後被濫用。
showWindowWithoutWarningBanner 顯示視窗,但不顯示 applet 創建視窗的標誌警告 沒有此警告,可能突然彈出 applet 視窗,而使用者卻不知道它們屬於 applet。因為使用者可以基於視窗是否屬於 applet 做出安全敏感的決策(例如,在對話框中輸入使用者名和密碼),所以禁用此警告標誌可能允許 applet 欺騙使用者去輸入這些資訊。
toolkitModality 創建 TOOLKIT_MODAL 對話框並設置 TOOLKIT_EXCLUDE 視窗屬性。 當從某一個 applet 顯示工具套件網要的對話框時,瀏覽器中的其他所有 applet 都將受阻塞。當從 Java Web Start 啟動應用程序時,它的視窗(比如安全對話框)也可能被此工具套件網要對話框阻塞,並從這些應用程序顯示。
watchMousePointer 獲取任意時間鼠標指針位置的資訊 通過對鼠標指針的持續觀察,applet 可以猜出使用者正在做的事情,也就是說,將鼠標移動到螢幕左下角很可能意味著使用者將要啟動某個應用程序。如果使用了虛擬鍵區,從而可以用鼠標模擬鍵盤,applet 可以猜出正在鍵入的文字。

另請參見:
BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager, 序列化表格

建構子摘要
AWTPermission(String name)
          創建具有指定名稱的新 AWTPermission
AWTPermission(String name, String actions)
          創建具有指定名稱的新 AWTPermission 物件。
 
方法摘要
 
從類別 java.security.BasicPermission 繼承的方法
equals, getActions, hashCode, implies, newPermissionCollection
 
從類別 java.security.Permission 繼承的方法
checkGuard, getName, toString
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

AWTPermission

public AWTPermission(String name)
創建具有指定名稱的新 AWTPermission。參數 name 是 AWTPermission 的符號名,如 "topLevelWindow"、"systemClipboard" 等等。可以使用星號來指示所有的 AWT 權限。

參數:
name - AWTPermission 的名稱
拋出:
NullPointerException - 如果 namenull
IllegalArgumentException - 如果 name 為空。

AWTPermission

public AWTPermission(String name,
                     String actions)
創建具有指定名稱的新 AWTPermission 物件。參數 name 是 AWTPermission 的符號名,actions 字元串目前未被使用,應該為 null

參數:
name - AWTPermission 的名稱
actions - 應該為 null
拋出:
NullPointerException - 如果 namenull
IllegalArgumentException - 如果 name 為空。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only