在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) 个答案