有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中使用自定义权限

我在Java编码方面有一些经验,但不熟悉使用权限。我希望能得到一些帮助,了解我的错误所在。我在下面给出了我的执行命令、Java代码和配置文件代码

我期望输出“ossifrage”,因为我认为我已经给出了正确的许可。事实上,有一个安全例外

执行代码:

java -Djava.security.manager -Djava.security.policy=PermissionTest.policy SecretWordTest

Java代码:

import java.security.*;
class SecretWord
{
    private static final String mTheSecretWord = "ossifrage";

    public SecretWord(){
        super();
    }

    public String getWord() {
        SecurityManager security = System.getSecurityManager();
        if(security != null){               security.checkPermission(new SecretWordPermission("AccessPermission"));
                }
        return mTheSecretWord;
    }
}

public class SecretWordTest
{
    public static void main (String[] args) {
        SecretWord secret = new SecretWord();
        String theSecretWord = secret.getWord();
        System.out.println("The secret word is: " + theSecretWord);
    }
}

class SecretWordPermission extends BasicPermission
{
    public SecretWordPermission(String name){
        super(name);
    }

    public SecretWordPermission(String name, String action) {
        super(name);
    }
}

保单代码:

grant 
{
    permission SecretWordPermission "AccessPermission";
};

共 (0) 个答案