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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。