拒绝访问(“java.io.FilePermission”执行)

拒绝访问(“java.io.FilePermission”执行),java,security,applet,Java,Security,Applet,我是初学者,这是我写的第一个小程序 我想用applet运行exe应用程序 java代码 package appletexample; import java.io.*; import java.awt.*; import java.applet.Applet; public class Welcome extends Applet { public void init() { String execommand = "C:\\windows\\notepad.ex

我是初学者,这是我写的第一个小程序

我想用applet运行exe应用程序

java代码

 package appletexample;

import java.io.*;
import java.awt.*;
import java.applet.Applet;

public class Welcome extends Applet {

    public void init() {
        String execommand = "C:\\windows\\notepad.exe" ;
        try {
            Process proc =  Runtime.getRuntime().exec(execommand) ;
        }
        catch(IOException ieo) {
            System.out.println("Problem starting " + execommand) ;
        }
    }
} 
java.policy.applet

grant {
  permission java.security.AllPermission;
};
我在eclipse
runas->javaapplet
worked和openednotepad中运行这段代码 但是当
Export->Jar文件(带有.classPath.project.java.policy.applet)时
用于

Html


作为初学者,你应该从简单得多的东西开始。当你玩小程序时,并不是所有的安全规则都适用。但是,当您进入现实世界时(在您的情况下是浏览器,或者换句话说,是沙盒),安全规则是有效的,以防止您的代码损害主机

你在做什么-当客户端用小程序打开你的网页时,你正在客户端计算机上运行一些程序。这就是病毒的作用。人们不会允许的


当然,您可以使用这种方法或其他方式在另一台计算机上运行程序,但这是您的目标吗?如果是为了学习基础知识,那就做些简单的事情。最终,您将了解和了解其他对您和您的客户有用的方法。

我假设您只是想练习如何编写小程序。 出于开发目的,您可以创建密钥库,然后使用它对applet.jar进行签名

转到:开始菜单>执行>cmd.exe

输入:

cd /
keytool -genkey -dname "cn=CN, ou=OU, o=O, l=L, st=ST, c=C" -alias mykey -keypass mypass -keystore mystore -validity 3650 -storepass mypass
jarsigner -keystore c:\mystore -storepass mypass C:\path\to\applet.jar mykey
然后:


刷新HTML页面。

如果这是一个新项目,考虑完全删除applet。改用JNLP。我是初学者,哪个小程序会掉下来?什么是JNLP?请详细解释只是搜索JNLP;10分钟的搜索和阅读应该可以让您开始。JNLP是用于运行exe应用程序的?请在此处阅读关于JNLP的内容:感谢帮助,但请说错误您的安全已阻止自签名应用程序运行。您可以将此应用程序的URL添加到异常站点列表中,该列表位于Java控制面板的“安全”选项卡下。请参阅“谢谢”,创建密钥库后,在将url添加到异常站点时说错误安全,小程序正常工作,
cd /
keytool -genkey -dname "cn=CN, ou=OU, o=O, l=L, st=ST, c=C" -alias mykey -keypass mypass -keystore mystore -validity 3650 -storepass mypass
jarsigner -keystore c:\mystore -storepass mypass C:\path\to\applet.jar mykey