Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何强制Eclipse小程序查看器执行安全检查?_Java_Eclipse_Security_Applet - Fatal编程技术网

Java 如何强制Eclipse小程序查看器执行安全检查?

Java 如何强制Eclipse小程序查看器执行安全检查?,java,eclipse,security,applet,Java,Eclipse,Security,Applet,我在Eclipse中开发了小程序,它使用默认的内置小程序查看器运行正常。由于存在许多安全异常,它在浏览器中不起作用。因此,每次代码更改,我都必须重建jar并在浏览器IE中运行它以进行测试 我如何强制EclipseAppletViewer使用与IE浏览器相同的安全策略 我尝试如下指定JVM参数,但applet在Eclipse中仍然成功,但由于安全策略的原因,我需要它失败 -Djava.security.policy=="java.policy.applet" 首先,您需要启用安全管理器。下面的J

我在Eclipse中开发了小程序,它使用默认的内置小程序查看器运行正常。由于存在许多安全异常,它在浏览器中不起作用。因此,每次代码更改,我都必须重建jar并在浏览器IE中运行它以进行测试

我如何强制EclipseAppletViewer使用与IE浏览器相同的安全策略

我尝试如下指定JVM参数,但applet在Eclipse中仍然成功,但由于安全策略的原因,我需要它失败

-Djava.security.policy=="java.policy.applet"

首先,您需要启用安全管理器。下面的JVM选项将为您做到这一点:

−Djava.security.manager

启用安全管理器将使用eclipse使用的任何java版本的ex:java.policy的默认安全设置

IE可能正在使用它自己的JRE,它与您的EclipseJRE版本不同。你有两个选择

1通过更改IE的JRE版本,使浏览器使用与Eclipse相同的JRE。在Windows7中,单击控制面板>Java>选择Java选项卡>添加Eclipse使用的系统上安装的JRE路径

2更改Eclipse JRE环境以使用与IE相同的JRE


−Djava.security.policy=java.policy PayrollApp

首先,您需要启用security Manager。下面的JVM选项将为您执行此操作:

−Djava.security.manager

启用安全管理器将使用eclipse使用的任何java版本的ex:java.policy的默认安全设置

IE可能正在使用它自己的JRE,它与您的EclipseJRE版本不同。你有两个选择

1通过更改IE的JRE版本,使浏览器使用与Eclipse相同的JRE。在Windows7中,单击控制面板>Java>选择Java选项卡>添加Eclipse使用的系统上安装的JRE路径

2更改Eclipse JRE环境以使用与IE相同的JRE


−Djava.security.policy=java.policy PayrollApp

Eclipse会在编译项目的根目录中自动创建一个策略文件java.policy.applet,该文件授予所有权限。并设置JVM参数-Djava.security.policy=java.policy.applet。似乎无法禁用此行为

您可以尝试用不同的策略文件添加相同的JVM参数,但是Eclipse在您的参数之后添加参数,JVM似乎只考虑最后一个参数。所以这没有帮助


但是,如果在源文件夹的根目录中创建自己的策略文件java.policy.applet,Eclipse不会覆盖它。您可以复制%JAVA\u HOME%\lib\security\JAVA.policy以获得真正的JAVA策略。

Eclipse会在编译项目的根目录中自动创建一个策略文件JAVA.policy.applet,该文件授予所有权限。并设置JVM参数-Djava.security.policy=java.policy.applet。似乎无法禁用此行为

您可以尝试用不同的策略文件添加相同的JVM参数,但是Eclipse在您的参数之后添加参数,JVM似乎只考虑最后一个参数。所以这没有帮助


但是,如果在源文件夹的根目录中创建自己的策略文件java.policy.applet,Eclipse不会覆盖它。您可以复制%JAVA\u HOME%\lib\security\JAVA.policy以获得真正的JAVA策略。

您可以做的一个“快速检查”是在init的try/catch中建立一个SecurityManager。如果小程序有安全管理器,将使用catch,如果没有,将安装SM。我不能保证它与applet安全管理器完全相同,但应该提供相同的一般经验。顺便说一句,我没有把这作为一个答案,因为。1这是一个黑客行为,&2我也想看到一个基于IDE的解决方案。@AndrewThompson,你是说SecurityManager appsm=System.getSecurityManager;或者SecurityManager appsm=新的SecurityManager?我是说System.SetSecurityManager新SecurityManager@AndrewThompson,在Eclipse中似乎没有效果。顺便说一句,@andrewhompson,在applet中我调用了checkConnect,在stack中我可以看到它被称为sun.plugin2.applet.AWTAppletSecurityManager。我可以构造并应用它吗?您可以做的一个“快速检查”是在init的try/catch中建立一个SecurityManager。如果小程序有安全管理器,将使用catch,如果没有,将安装SM。我不能保证它与applet安全管理器完全相同,但应该提供相同的一般经验。顺便说一句,我没有把这作为一个答案,因为。1这是一个黑客行为,&2我也想看到一个基于IDE的解决方案。@AndrewThompson,你是说SecurityManager appsm=System.getSecurityManager;或者SecurityManager appsm=新的SecurityManager?我是说System.SetSecurityManager新SecurityManager@AndrewThompson,在Eclipse中似乎没有效果。顺便说一句,@andrewhompson,在我调用checkConnect的applet和堆栈中,并没有抛出期望值 它被称为sun.plugin2.applet.awtappelsecuritymanager。我可以构造并应用它吗?−Djava.security.manager仅无效。我不认为这是一个JRE的问题。−Djava.security.policy=java.policy PayrollApp这里的PayrollApp是什么意思?−Djava.security.manager仅无效。我不认为这是一个JRE的问题。−Djava.security.policy=java.policy PayrollApp这里的PayrollApp是什么意思?