从Javascript调用加载dll时出现java安全错误,但直接从applet调用时没有

java security error when loading dll from a Javascript call but not when directly called from applet

本文关键字:调用 applet java 加载 Javascript dll 安全 错误      更新时间:2023-09-26

我有一个applet的loadslibrary使用System调用通过一个静态方法称为loadLibrary

System.loadLibrary("ReadRegistry");

只要我在applet中调用loadLibrary,就可以正常工作。但是,如果我从javascript访问另一个方法,称为handleLoad(),它调用loadLibrary方法,当我尝试调用System.loadLibrary语句时,我得到一个java安全错误。

为什么会这样?

一旦一个调用被JS调用,JRE就变得不那么信任它了。

要解决这个问题,将问题代码包装在PrivilegedAction中,并使用AccessController.doPriviliged()变体之一来调用它。