替换安全管理器 checkMemberAccess()

2024-01-02

Java 安全管理器方法checkMemberAccess() https://docs.oracle.com/javase/7/docs/api/java/lang/SecurityManager.html#checkMemberAccess(java.lang.Class,%20int)有一个参数,其中包含正在调用反射的类。此方法已被弃用,并有说明说要使用checkPermission()反而。里面没有参数checkPermission()与那些相似的checkMemberAccess().

在安全管理器中,如何在没有checkMemberAccess() https://docs.oracle.com/javase/7/docs/api/java/lang/SecurityManager.html#checkMemberAccess(java.lang.Class,%20int) method?

即如果 A 类对 B 类执行反射,我想知道target是B级。


当您安装默认安全管理器时,应用程序将使用默认安全策略。如果您想提供我们自己的策略,您可以在策略文件中执行此操作,如下所示:

grant {
   permission java.lang.RuntimePermission "accessDeclaredMembers.{class name}";
   permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};

检查会员访问权限具有默认策略 - 允许访问 PUBLIC 成员,以及访问与调用者具有相同类加载器的类。在所有其他情况下,此方法调用检查权限()RuntimePermission("accessDeclaredMembers")允许

对于反射操作,请使用反映权限类和抑制访问检查它允许抑制标准 java 访问检查 - 对于公共、默认(包)访问、受保护和私有成员 - 由反射对象在其使用点执行。

但这在该信息中是危险的(可能是机密的)并且通常不可用的方法将被恶意代码访问。

提供策略文件后 - 您可以按如下方式检查:

 try {
   ReflectPermission permission = new ReflectPermission("suppressAccessChecks");
   permission.checkGuard(null);
   System.out.println("Permission granted");
 } catch (SecurityException e) {
   System.out.println("Permission denied");
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

替换安全管理器 checkMemberAccess() 的相关文章

随机推荐

  • Django:使用 django 表单创建 HTML 输入数组

    我正在尝试自动创建这样的东西
  • Android:为什么我不能在 onCreate 方法之外的按钮上调用 setOnClickListener 方法?

    这是一个新手问题 但为什么我不能在 onCreate 方法之外的按钮上调用 setOnClickListener 方法 例如 为什么我不能这样做 或者也许 Eclipse 只是没有在 onCreate 方法之外暗示 setOnClickLi
  • 我可以将 CloudKit 数据传输到新容器吗?

    我正在制作一个 CloudKit 应用程序 我面临着选择将数据存储在只能由该应用程序访问的默认容器中 还是存储在可以共享数据的自定义容器中 目前我只需要该应用程序来访问数据 因此我可能会将数据放入默认容器中 但是 如果最终我想从不同的应用程
  • 将数组/列表传递给 Python 函数

    我一直在考虑将数组或列表 Python 倾向于这样称呼它们 传递到函数中 我读到了一些关于使用 args 的内容 例如 def someFunc args for x in args print x 但不确定这是对还是错 似乎没有什么能如我
  • 我想抓取Yammer上每个组的所有消息(包括所有公司组)

    我们正在尝试使用以下命令抓取 Yammer 上每个组 包括所有公司组 的所有消息https www yammer com api v1 messages json group id https www yammer com api v1 m
  • 温斯顿中的纯文件日志记录

    我只想将数据而不是日志级别 时间戳等记录到文件中 var logger new winston Logger transports new winston transports File
  • 在 keras 中,如何使用自定义对象克隆模型?

    我有一个带有自定义激活的模型 因此 model2 keras models clone model model 给出一个错误 我可以使用加载保存的模型自定义对象关键字 但我没有看到这样的选项克隆模型 除了重新制作模型和转移权重之外 还有其他
  • 检测外来词

    我正在编写一个脚本来检测语言 A 中来自语言 B 的单词 这两种语言非常相似 并且可能具有相同单词的实例 如果您对我目前掌握的内容感兴趣 代码就在这里 https github com arashsa language detection
  • 具有透明背景和旋转渐变边框的按钮

    我想要实现的是一个像这样的按钮 完成后 我需要在悬停时设置动画 我能找到的最接近的例子是这个codepen https codepen io Chester pen QPoyjN https codepen io Chester pen Q
  • .NET ASMX - 返回纯 JSON?

    我在这里要疯了 我查看了以下条目并none他们中的一些人正在纠正我所看到的异常行为 如何从 2 0 asmx Web 服务返回 JSON https stackoverflow com questions 288850 how to ret
  • Next Js - Firebase 部署问题

    我正在构建一个新的 Next Js 应用程序 它是使应用程序部署在vercel https vercel com 通过链接 gitlab Next js 项目 对于同一个项目 我需要将其部署在 firebase 中 我尝试过的事情 gt 制
  • -webkit- 文本区域在垂直滚动条上丢失顶部和底部填充

    我有一个具有固定宽度和高度并且没有调整大小的文本区域元素 当出现垂直滚动条时 元素的填充 顶部和底部 将被忽略 这是一个 plnkr 演示 http plnkr co edit jOeYXqkOZk3FCT24BRrk p preview
  • 为 fabpot/goutte 客户端设置 CURL 参数

    我正在使用 goutte fabpot goutte 开发一个网络爬虫 当我尝试连接到 https 站点时 它会抛出错误 因为该站点正在使用自签名证书 我正在尝试找到设置curl参数的方法来忽略ssl证书是自签名的事实 按照中的说明进行操作
  • 找出php中两个字符串之间的匹配百分比?

    任何人都可以建议我一个更好的方法 或最优选的方法 来使用模糊逻辑查找两个字符串之间的匹配百分比 即这两个字符串 例如名称 在百分比方面的相关程度 谁能帮我写代码吗 我真的想知道从哪里开始 str1 Hello str2 Hello Worl
  • Mongoose 连接/模型:需要始终运行在开放状态吗?

    我正在使用 Mongoose 3 连接数据库最明显的方法是 conn mongoose createConnection conn on open 问题是 我需要在 open 回调中定义所有模型吗 如果是这样 我将不得不创建一个initMo
  • 缓存 git-tf 的 TFS 登录凭据

    我在工作中使用 git 和 git tf 但每次使用 git tf 执行任何命令时 我都必须输入登录凭据 有没有办法缓存 git tf 的 TFS 登录凭据 这样我就不必每次都输入它们 如果您使用 Kerberos 并与 TFS 服务器所在
  • 同时垂直滚动两个表格

    我有两个必须一起滚动的表 vscroll on scroll function e divTable1 scrollTop e scrollTop divTable2 scrollTop e scrollTop 不过有一点滞后问题 Tabl
  • 将 LOAD DATA INFILE 与阿拉伯语数据结合使用

    我正在尝试将 csv 文件导入到表中 我已经弄清楚如何使用以下查询插入数据 LOAD DATA INFILE examplesofdata csv INTO TABLE coins FIELDS TERMINATED BY ENCLOSED
  • 使用 boost::regex 获取子 match_results

    嘿 假设我有这个正则表达式 test 0 9 我将其与以下内容相匹配 test1test2test3test0 const bool ret boost regex search input what r for size t i 0 i
  • 替换安全管理器 checkMemberAccess()

    Java 安全管理器方法checkMemberAccess https docs oracle com javase 7 docs api java lang SecurityManager html checkMemberAccess j