自签名录音机小程序中的安全异常

发布于 2024-12-08 17:58:20 字数 347 浏览 0 评论 0原文

我创建了一个用于录制声音的小程序。当我尝试打开数据线时它抛出异常。

TargetDataLine.open()

java.security.AccessControlException:访问被拒绝(javax.sound.sampled.AudioPermission 记录)

我的小程序是自签名的,所有其他 jar 文件都是自签名的。

以前我使用不同的线程来启动 TargetDataLine 并关闭该行。后记,我没有创建另一个线程,而是切换到 Executorservice。它在线程中工作正常,但在 ExecutorService 中抛出上述异常。

I have created an applet for recording sound. It throws an exception when I try to open a dataline.

TargetDataLine.open()

java.security.AccessControlException: access denied (javax.sound.sampled.AudioPermission record)

My applet is self signed, all other jar files are self signed.

Previously I was using a different thread to start the TargetDataLine and close the line. Afterwords instead of creating another thread, I switched to Executorservice. It works fine with thread but throws above exception with ExecutorService.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

就此别过 2024-12-15 17:58:20

由于执行器服务在有来自 javascript 的调用时启动一个新线程,因此该线程的安全级别设置为 javascript 线程的安全级别。

因此使用 AccessControl.doPrivilged 有助于解决问题。此处解释了如何操作。

Since the executor service starts a new thread when there is call from javascript, the security level of the thread is set to that of javascript thread.

So using AccessControl.doPrivilaged helps to solve the problem.Explained here how to do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文