当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.net.NetPermission用法及代码示例


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


相关用法


注:本文由纯净天空筛选整理自abhinavjain194大神的英文原创作品 java.net.NetPermission Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。