【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
出自【进步*于辰的博客】
在开发或解析API中,使用到一些新类或未研究过其源码的已涉及类,在解析源码中,有一些解读和心得,做个笔记。
public final class SecurityConstants
SecurityConstants 类是一个安全常量类,定义了很多安全操作(关于“安全操作”,见博文【Java-API简析_java.lang.SecurityManager类(基于 Latest JDK)(浅析源码)】的概述)需要使用的权限常量(static final
)。
// 1、文件删除操作
public static final String FILE_DELETE_ACTION = "delete";
// 2、文件执行操作)
public static final String FILE_EXECUTE_ACTION = "execute";
// 3、文件读操作
public static final String FILE_READ_ACTION = "read";
// 4、文件写操作
public static final String FILE_WRITE_ACTION = "write";
// 5、文件读操作(行读取)
public static final String FILE_READLINK_ACTION = "readlink";
// 6、未知
public static final String SOCKET_RESOLVE_ACTION = "resolve";
// 7、Socket 连接操作
public static final String SOCKET_CONNECT_ACTION = "connect";
// 8、Socket 监听操作
public static final String SOCKET_LISTEN_ACTION = "listen";
// 9、Socket 接收操作
public static final String SOCKET_ACCEPT_ACTION = "accept";
// 10、Socket 接收连接操作
public static final String SOCKET_CONNECT_ACCEPT_ACTION = "connect,accept";
// 11、读写配置操作
public static final String PROPERTY_RW_ACTION = "read,write";
// 12、读配置操作
public static final String PROPERTY_READ_ACTION = "read";
// 13、写配置操作
public static final String PROPERTY_WRITE_ACTION = "write";
AllPermission
常量public static final AllPermission ALL_PERMISSION = new AllPermission();
NetPermission
常量// 1、指定流处理权限
public static final NetPermission SPECIFY_HANDLER_PERMISSION = new NetPermission("specifyStreamHandler");
// 2、设置代理选择器权限
public static final NetPermission SET_PROXYSELECTOR_PERMISSION = new NetPermission("setProxySelector");
// 3、获取代理选择器权限
public static final NetPermission GET_PROXYSELECTOR_PERMISSION = new NetPermission("getProxySelector");
// 4、设置 Cookie 处理器权限
public static final NetPermission SET_COOKIEHANDLER_PERMISSION = new NetPermission("setCookieHandler");
// 5、获取 Cookie 处理器权限
public static final NetPermission GET_COOKIEHANDLER_PERMISSION = new NetPermission("getCookieHandler");
// 6、设置响应缓存权限
public static final NetPermission SET_RESPONSECACHE_PERMISSION = new NetPermission("setResponseCache");
// 7、获取响应缓存权限
public static final NetPermission GET_RESPONSECACHE_PERMISSION = new NetPermission("getResponseCache");
// 8、设置套接字实现类权限
public static final NetPermission SET_SOCKETIMPL_PERMISSION = new NetPermission("setSocketImpl");
RuntimePermission
常量// 1、创建类加载器权限
public static final RuntimePermission CREATE_CLASSLOADER_PERMISSION = new RuntimePermission("createClassLoader");
// 2、访问声明成员权限
public static final RuntimePermission CHECK_MEMBER_ACCESS_PERMISSION = new RuntimePermission("accessDeclaredMembers");
// 3、修改线程权限
public static final RuntimePermission MODIFY_THREAD_PERMISSION = new RuntimePermission("modifyThread");
// 4、修改线程组权限
public static final RuntimePermission MODIFY_THREADGROUP_PERMISSION = new RuntimePermission("modifyThreadGroup");
// 5、获取保护域权限
public static final RuntimePermission GET_PD_PERMISSION = new RuntimePermission("getProtectionDomain");
// 6、获取类加载器权限
public static final RuntimePermission GET_CLASSLOADER_PERMISSION = new RuntimePermission("getClassLoader");
// 7、终止线程权限
public static final RuntimePermission STOP_THREAD_PERMISSION = new RuntimePermission("stopThread");
// 8、获取堆栈跟踪日志权限
public static final RuntimePermission GET_STACK_TRACE_PERMISSION = new RuntimePermission("getStackTrace");
SecurityPermission
常量// 1、创建访问控制上下文权限
public static final SecurityPermission CREATE_ACC_PERMISSION = new SecurityPermission("createAccessControlContext");
// 2、获取组合域权限
public static final SecurityPermission GET_COMBINER_PERMISSION = new SecurityPermission("getDomainCombiner");
// 3、获取策略权限
public static final SecurityPermission GET_POLICY_PERMISSION = new SecurityPermission("getPolicy");
Socket
套接字权限 SocketPermission
常量// 1、本地监听权限
public static final SocketPermission LOCAL_LISTEN_PERMISSION = new SocketPermission("localhost:0", "listen");
AWT
private static final String AWTFactory = "sun.awt.AWTPermissionFactory";
private static final PermissionFactory<?> factory = permissionFactory();
public static final Permission TOPLEVEL_WINDOW_PERMISSION = newAWTPermission("showWindowWithoutWarningBanner");
public static final Permission ACCESS_CLIPBOARD_PERMISSION = newAWTPermission("accessClipboard");
public static final Permission CHECK_AWT_EVENTQUEUE_PERMISSION = newAWTPermission("accessEventQueue");
public static final Permission TOOLKIT_MODALITY_PERMISSION = newAWTPermission("toolkitModality");
public static final Permission READ_DISPLAY_PIXELS_PERMISSION = newAWTPermission("readDisplayPixels");
public static final Permission CREATE_ROBOT_PERMISSION = newAWTPermission("createRobot");
public static final Permission WATCH_MOUSE_PERMISSION = newAWTPermission("watchMousePointer");
public static final Permission SET_WINDOW_ALWAYS_ON_TOP_PERMISSION = newAWTPermission("setWindowAlwaysOnTop");
public static final Permission ALL_AWT_EVENTS_PERMISSION = newAWTPermission("listenToAllAWTEvents");
public static final Permission ACCESS_SYSTEM_TRAY_PERMISSION = newAWTPermission("accessSystemTray");
本文暂缓更新。
本文发布于:2024-02-05 06:35:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170726418263921.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |