有关Java SecurityManager的基本问题

时间:2019-05-03 18:07:27

标签: java junit

Custom Java SecurityManager in JUnit tests are failing,Randgalt在使测试失败的过程中询问了此代码:

    Policy.setPolicy(new Policy() {
        @Override
        public PermissionCollection getPermissions(CodeSource cs) {
            Permissions mainPermissions = new Permissions();
            mainPermissions.add(new AllPermission());
            return mainPermissions;
        }
    });
    // set a security manager so permissions get applied,
    System.setSecurityManager(new SecurityManager());

他显然解决了他的问题,但我遇到了同样的事情。我在@BeforeClass方法中获得了上面的代码,当我运行一个试图从类路径读取资源文件的测试时:

   InputStream is = TestUtils.class.getResourceAsStream(name);

我的权限检查失败

   ("java.io.FilePermission" "<path>/resource.xml" "read")

这会使输入流返回为null,并且测试失败。安全管理器似乎对所有内容都授予了所有权限,所以我真的不太了解发生了什么。 “所有”不是真的意味着全部吗?

0 个答案:

没有答案