Syntax:

句法:

    public void checkPermission(Permission  perm);
public void checkPermission(Permission  perm, Object cntxt);

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

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

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

  • checkPermission(Permission perm) method invokes checkPermission of AccesController for the requested access, indicated by the specified permissions.

    checkPermission(Permission perm)方法为请求的访问调用AccesController的checkPermission,由指定的权限指示。

  • checkPermission(Permission perm, Object cntxt) method invokes checkPermission of AccesControlContext for the given security context is the access granted to the resource, indicated by the specified permissions when cntxt is an instance of AccessControlContext.

    当给定的安全上下文是授予资源的访问权限时,checkPermission(Permission perm,Object cntxt)方法调用AccesControlContext的checkPermission,当cntxt是AccessControlContext的实例时,由指定的权限表示。

  • checkPermission(Permission perm), checkPermission(Permission perm, Object cntxt) methods may throw an exception at the time of granting permission.

    checkPermission(Permission perm)checkPermission(Permission perm,Object cntxt)方法在授予权限时可能会引发异常。

  • checkPermission(Permission perm):

    checkPermission(权限烫发):

    • SecurityException – This exception may throw when the access is denied on the security policy held currently.
    • NullPointerException – This exception may throw when the given parameter is null.
  • checkPermission(Permission perm, Object cntxt):

    checkPermission(权限权限,对象cntxt):

    • SecurityException – This exception may throw when the calling thread is not allowed to access the resource by the given permission or when the security cntxt(context) is not an object of AccessControlContext.
    • NullPointerException – This exception may throw when the given first parameter is null.
  • These are non-static methods, it is accessible with the class object only and, if we try to access these methods with the class name then we will get an error.

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

Parameter(s):

参数:

  • In the first case, Permission perm - This parameter represents the requested permission.

    在第一种情况下, 权限权限 -此参数表示请求的权限。

  • In the second case, Permission perm, Object cntxt

    在第二种情况下, 权限权限,对象cntxt

    • Permission perm – Similar as defined in the first case.
    • 许可权限 –与第一种情况中定义的相似。
    • Object cntxt – This parameter represents the system-specific security context.
    • 对象cntxt –此参数表示系统特定的安全上下文。

Return value:

返回值:

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

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

Example:

例:

// Java program to demonstrate the example
// of checkPermission() method of SecurityManager class
import java.security.*;
import java.io.*;
public class CheckPermission extends SecurityManager {public static void main(String[] args) {Permission perm = new FilePermission("getProperties().doc", "read,write");
AccessControlContext acc = AccessController.getContext();
// By using setProperty() method is to set the policy property
// with security manager
System.setProperty("java.security.policy", "file:/C:/java.policy");
// Instantiating a CheckPermission object
CheckPermission cp = new CheckPermission();
// By using setSecurityManager() method is to set the
// security manager
System.setSecurityManager(cp);
// By using checkPermission(Permission) method is to
// check that restricted permission
cp.checkPermission(perm);
// By using checkPermission(Permission,Object) method is to
// check that restricted permission when cntxt is an instance
// of AccessControlContext
cp.checkPermission(perm, acc);
// Display the message
System.out.println("Accepted..");
}
}

Output

输出量

Exception in thread "main" java.security.AccessControlException: access denied ("java.io.FilePermission" "getProperties().doc" "read,write")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 CheckPermission.main(CheckPermission.java:25)

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

Java SecurityManager checkPermission()方法与示例相关推荐

  1. Java IOUtils.copy方法代码示例(亲测)

    本文整理汇总了Java中org.apache.commons.io.IOUtils.copy方法的典型用法代码示例.如果您正苦于以下问题:Java IOUtils.copy方法的具体用法?Java I ...

  2. java user directory,Java ProcessBuilder directory()方法与示例

    语法:public File directory (); public ProcessBuilder directory (File dir); ProcessBuilder类directory()方 ...

  3. Java序列化魔术方法及其示例使用

    在上一篇文章中, 您需要了解有关Java序列化的所有知识 ,我们讨论了如何通过实现Java序列化来启用类的可序列化性. Serializable接口. 如果我们的类未实现Serializable接口, ...

  4. catalog java,Java Connection getCatalog()方法与示例

    通常,目录是一个目录,其中包含有关数据集,文件或数据库的信息.而数据库目录中包含所有数据库,基本表,视图(虚拟表),同义词,值范围,索引,用户和用户组的列表. Connection接口的getCata ...

  5. filepermission java,Java FilePermission getActions()方法与示例

    FilePermission类getActions()方法getActions()方法在java.io包中可用. getActions()方法用于检查此FilePermission和给定对象在路径名和 ...

  6. java方法参数Bundle,Java ResourceBundle keySet()方法及示例

    ResourceBundle类keySet()方法keySet()方法在java.util包中可用. keySet()方法用于从此ResourceBundle及其超级捆绑包中获取所有现有键,以在Set ...

  7. java exec waitfor,Java Process waitFor()方法与示例

    流程类waitFor()方法在java.lang包中提供了waitFor()方法. waitFor()方法用于使当前正在运行的线程在需要时等待,直到由该Process对象表示的进程完成其终止为止. 当 ...

  8. java arraylist.add(),Java ArrayList add()方法与示例

    ArrayList类add()方法 语法:public boolean add(T ele); public void add(int indices, T ele);add()方法在java.uti ...

  9. java rollback用法,Java Connection rollBack()方法与示例

    回滚操作将撤消当前事务所做的所有更改,即,如果调用Connection接口的rollBack()方法,则所有修改都将还原到最后一次提交. 您还可以通过将所需的Savepoint对象作为参数传递给此方法 ...

最新文章

  1. 反欺诈中所用到的机器学习模型有哪些?
  2. 报名即将关闭丨AAAI 2020论文预讲会
  3. 9-基数排序C实现(待补充插图)
  4. 二分查找(划分时左右元素个数不相等)解析+代码
  5. python脚本加密_教你如何基于python实现脚本加密
  6. Linux开发cocos2dx程序环境搭建
  7. Python接口自动化之unittest单元测试
  8. medit 和 .mesh 文件
  9. R与Python手牵手:特征工程(数值型变换)
  10. idea的pom文件变灰色
  11. n以内的最多因子数的数 n=1e18
  12. 用友U8数据备份实例工作经验
  13. 计算机设备选型的基本原则,设备选型的概念和选型依据
  14. 2018计算机通信网络,2018年1-12月我国计算机、通信和其他电子设备制造业企业数量共计16656个...
  15. 【教程】笔记本装Win10+Deepin双系统|详细
  16. Windows下使用Darknet训练自己的数据集(模型:yolov4-tiny、数据集:垃圾分类)
  17. Linux 要不要防病毒软件或防火墙
  18. [作业]英语作业,无聊记事
  19. 《Linux C编程从入门到精通》——1.3 Shell的使用基础
  20. mindmanager 2021许可密钥全新可视工作管理和思维导图软件

热门文章

  1. java集成_Java继承
  2. 经典案例:2012年最佳25个响应式网站设计作品《下篇》
  3. CSS 小结笔记之em
  4. git提交代码到码云
  5. treegrid,可以展开的jqgrid树
  6. 《美团机器学习实践》高清PDF+思维导图+美团算法团队
  7. WIN10 开启右键 命令提示符
  8. mysql数据库(3)-查询
  9. pycaffe简明文档
  10. POJ 3468 A Simple Problem with Integers(线段树:区间更新)