所有类
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 行为异常。 |
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 。 |
showWindowWithoutWarningBanner |
显示窗口,但不显示由 applet 创建窗口的标志警告 |
没有此警告,可能突然弹出 applet 窗口,而用户却不知道它们属于 applet。因为用户可以基于窗口是否属于 applet 做出安全敏感的决策(例如,在对话框中输入用户名和密码),所以禁用此警告标志可能允许 applet 欺骗用户去输入这些信息。 |
watchMousePointer |
获得任意时间鼠标指针位置的信息 |
通过对鼠标指针的持续观察,applet 可以猜出用户正在做的事情,例如,将鼠标移动到屏幕的左下角很可能意味着用户将要启动某个应用程序。如果使用了虚拟键区,从而可以用鼠标模拟键盘,applet 可以猜出正在键入的文字。 |
setWindowAlwaysOnTop |
设置窗口的“总在最上层 (always-on-top)”属性:Window.setAlwaysOnTop(boolean) |
恶意窗口可能会伪装成一个真实完整的桌面,于是,对此毫不怀疑的用户输入的信息将会被捕获,随后被滥用。 |
setAppletStub |
设置实现 Applet 容器服务的 stub |
恶意代码可能设置 applet 的 stub,这将导致不可预料的行为或拒绝对 applet 服务。 |
-
另请参见:
-
BasicPermission
, Permission
, Permissions
, PermissionCollection
, SecurityManager
, 序列化表格
AWTPermission
public AWTPermission(String name)
-
用指定的名称创建一个新的
AWTPermission
。参数 name 是 AWTPermission
的符号名,如 "topLevelWindow"、"systemClipboard" 等等。可以使用星号来指示所有的 AWT 权限。
-
参数:
-
name
- AWTPermission 的名称
AWTPermission
public AWTPermission(String name,
String actions)
-
用指定的名称创建一个新的
AWTPermission
对象。参数 name 是 AWTPermission
的符号名,actions 字符串目前未被使用,应该为 null
。
-
参数:
-
name
- AWTPermission
的名称
-
actions
- 应该为 null
所有类