Java SecurityManager checkSetFactory()方法与示例

SecurityManager类的checkSetFactory()方法 (SecurityManager Class checkSetFactory() method)

  • checkSetFactory() method is available in java.lang package.

    checkSetFactory()方法在java.lang包中可用。

  • checkSetFactory() method invokes checkPermission with the RuntimePermission("setFactory") permission and it is used to set the socket factory by using ServerSocket or it is used to set the Stream handler factory by using URL.

    checkSetFactory()方法使用RuntimePermission(“ setFactory”)权限调用checkPermission,它用于通过ServerSocket设置套接字工厂,或者用于通过URL设置Stream处理程序工厂。

  • checkSetFactory() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    checkSetFactory()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • checkSetFactory() method may throw an exception at the time of set socket factory or stream handler factory.

    在设置套接字工厂或流处理程序工厂时, checkSetFactory()方法可能会引发异常。

    SecurityException – This exception may throw when the calling thread does not have the right to set the socket factory or stream handler factory.

    SecurityException-当调用线程无权设置套接字工厂或流处理程序工厂时,可能引发此异常。

Syntax:

句法:

    public void checkSetFactory();

Parameter(s):

参数:

  • It does not accept any parameter.

    它不接受任何参数。

Return value:

返回值:

The return type of this method is void, it returns nothing.

此方法的返回类型为void ,不返回任何内容。

Example:

例:

// Java program to demonstrate the example 
// of void checkSetFactory() method of SecurityManager 

public class CheckSetFactory extends SecurityManager {
    public static void main(String[] args) {
        // By using setProperty() method is to set the policy property 
        // with security manager
        System.setProperty("java.security.policy", "file:/C:/java.policy");
        // Instantiating a CheckSetFactory object
        CheckSetFactory csf = new CheckSetFactory();

        // By using setSecurityManager() method is to set the
        // security manager
        System.setSecurityManager(csf);

        // By using checkSetFactory() method is to
        // check restriction on factory methods
        csf.checkSetFactory();

        // Display the message
        System.out.println("Not Restricted..");
    }
}

Output

输出量

Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "setFactory")
	at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
	at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
	at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
	at java.base/java.lang.SecurityManager.checkSetFactory(SecurityManager.java:1401)
	at CheckSetFactory.main(CheckSetFactory.java:18)


翻译自: https://www.includehelp.com/java/securitymanager-checksetfactory-method-with-example.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值