NetPermission类用于允许网络权限。 NetPermission 类扩展了BasicPermission 类。它是 “named” 权限,即它包含名称但不包含操作。
权限名称 | 什么权限允许 | 与此权限相关的风险 |
---|---|---|
allowHttpTrace | 此权限允许在 HttpURLConnection 中使用 HTTP TRACE 方法 | 攻击者可能使用 HTTP TRACE 来访问 HTTP 标头中的安全性 |
getCookieHandler | 此权限允许获取处理此 HTTP 会话的高度安全的 cookie 信息的 cookie 处理程序 | 攻击者可以获得 cookie 处理程序并访问高度安全的 cookie 信息 |
getNetworkInformation | 此权限允许获取有关本地网络接口的信息 | 攻击者可能会获取有关本地硬件的信息 |
getProxySelector | 此权限允许代理选择器选择在建立网络连接时使用哪些代理 | 攻击者可能会获得ProxySelector并获取有关内部网络的代理主机和端口的信息 |
获取响应缓存 | 该权限允许访问本地响应缓存 | 攻击者可能会访问可能包含安全信息的本地缓存 |
requestPasswordAuthentication | 此权限授予向身份验证者询问密码的能力 | 攻击者可能会窃取此密码 |
setCookieHandler | 此权限允许设置 cookie 处理程序来处理此 HTTP 会话的高度安全的 cookie 信息 | 攻击者可以获得 cookie 处理程序并访问高度安全的 cookie 信息 |
setDefaultAuthenticator | 这允许设置验证器 | 攻击者可以设置身份验证器并获取安全信息 |
设置代理选择器 | 此权限允许代理选择器设置在建立网络连接时使用哪些代理 | 攻击者可以设置ProxySelector并获取有关内部网络的代理主机和端口的信息 |
setResponseCache | 该权限允许设置本地响应缓存 | 攻击者可能会访问可能包含安全信息的本地缓存 |
指定StreamHandler | 该权限允许指定 StreamHandler 来创建 URL | 攻击者可能会创建 URL 并访问他们通常无法访问的资源 |
用法:类声明
public final class NetPermission extends BasicPermission
该类的构造函数
构造函数 | 说明 |
---|---|
NetPermission(String name) | 用于创建具有给定名称的新NetPermission对象 |
NetPermission(String name, String action) | 用于创建具有给定名称和操作的新NetPermission对象 |
从类 java.security.BasicPermission 继承的方法
方法 | 说明 |
---|---|
equals(Object obj) | 检查两个BasicPermission对象是否相等 |
getActions() | 以字符串格式返回操作 |
hashCode() | 返回该对象的哈希值 |
implies(Permission permission) | 检查该对象是否隐含给定的权限 |
newPermissionCollection() | 返回一个新的PermissionCollection对象 |
从类 java.security.Permission 继承的方法
方法 | 说明 |
---|---|
checkGuard() | 用于实现守卫接口 |
getName() | 返回此权限对象的名称 |
toString() | 返回此权限对象的字符串表示形式 |
从类java.lang.Object继承的方法 |
---|
clone()、finalize()、getClass()、notify()、notifyAll()、wait()、wait()、wait() |
示例 1:
Java
// Java program to Create a New allow HttpTrace Permission
// Importing required network permission classes
import java.net.NetPermission;
import java.security.Permission;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Try block to check for exceptions
try {
// Creating a new allowHttpTrace permission
Permission permission
= new NetPermission("allowHttpTrace");
// Printing the name of the permission using
// getName() method
System.out.println(permission.getName());
// Printing the class of the permission using
// getClass method
System.out.println(permission.getClass());
// Printing the hash value of this permission
// object using hashCode() method
System.out.println(permission.hashCode());
}
// Catch block to handle the exceptions
catch (Exception e) {
// Print the line number where the exception occurred
e.printStackTrace();
}
}
}
输出:
allowHttpTrace class java.net.NetPermission 303901780
示例 2:
Java
// Java Program to Create a New getCookieHandler Permission
// Importing required network permission classes
import java.net.NetPermission;
import java.security.Permission;
// Main Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Try block to check for exceptions
try {
// Creating a new getCookieHandler permission
Permission permission
= new NetPermission("getCookieHandler");
// Printing the name of the permission using
// getName() method
System.out.println(permission.getName());
// Printing the class of the permission using
// getClass method
System.out.println(permission.getClass());
// Printing the hash value of this permission
// object using hashCode() method
System.out.println(permission.hashCode());
}
// Catch block to handle the exceptions
catch (Exception e) {
// Print the line number where exception occurred
// using printStackTrace() method
e.printStackTrace();
}
}
}
输出:
getCookieHandler class java.net.NetPermission 1381623952
示例 3:
Java
// Java Program to Illustrate the Working of equals() Method
// Importing permission classes for networking
import java.net.NetPermission;
import java.security.Permission;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Try block to check for exceptions
try {
// Creating a new getNetworkInformation
// permission
Permission Permission1 = new NetPermission(
"getNetworkInformation");
// Creating a new getProxySelector permission
Permission Permission2
= new NetPermission("getProxySelector");
// Checking if both the given permissions are
// equal or not using equals() method
if (Permission1.equals(Permission2)) {
// Print statement
System.out.println(
"Both permission are equal");
}
// Statements differ
else {
// Print statement
System.out.println(
"Both permission are not equal");
}
}
// Catch block to handle the exceptions
catch (Exception e) {
// Print the line number where the exception occurred
e.printStackTrace();
}
}
}
输出:
Both permission are not equal
相关用法
- Java java.net.SocketException用法及代码示例
- Java java.net.Proxy用法及代码示例
- Java java.net.ProxySelector用法及代码示例
- Java java.net.ProtocolFamily用法及代码示例
- Java java.net.SocketOption用法及代码示例
- Java java.net.CookiePolicy用法及代码示例
- Java java.net.SecureCacheResponse用法及代码示例
- Java java.net.CacheResponse用法及代码示例
- Java java.net.SocketImplFactory用法及代码示例
- Java java.net.ResponseCache用法及代码示例
- Java java.net.URLPermission用法及代码示例
- Java java.net.CacheRequest用法及代码示例
- Java java.net.FileNameMap用法及代码示例
- Java java.net.CookieStore用法及代码示例
- Java java.net.PasswordAuthentication用法及代码示例
- Java java.net.CookieHandler用法及代码示例
- Java java.net.CookieManager用法及代码示例
- Java java.net.BindException用法及代码示例
- Java java.net.URLConnection用法及代码示例
- Java java.net.Socket用法及代码示例
- Java java.net.ServerSocket用法及代码示例
- Java java.net.InetAddress用法及代码示例
- Java java.nio.ByteBuffer用法及代码示例
- Java java.nio.IntBuffer用法及代码示例
- Java java.nio.file.FileStore用法及代码示例
注:本文由纯净天空筛选整理自abhinavjain194大神的英文原创作品 java.net.NetPermission Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。