我有一个WildFly 23,希望通过一个可以运行BeanShell脚本的WAR文件来部署一个服务。权限应该非常有限。如果数据和脚本可以传递给服务,从而可以执行简单的计算,那就足够了。
示例:我以POJO的形式传递一个客户列表,并传递一个返回名称列表的脚本。然后,WebService应该向我提供名字列表。
脚本不应该能够运行Runtime.exec、构建到URL的连接或以其他方式破坏安全性。无休止运行的脚本将被挂起的任务阈值终止。我所需要的只是在客户机上设置一个类似的SecurityManager,然后我只授予几个权限。但是,如果我理解正确的话,这个选项在WildFly 26中已经被废弃和删除了。我如何告诉新的安全管理子系统,我的web服务只有几个权限?
谢谢!
发布于 2022-08-17 19:16:36
您应该在war的META文件夹中创建并添加一个permissions.xml文件,如下所示:
<permissions xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd"
version="7">
<permission>
<class-name>java.io.FilePermission</class-name>
<name>*</name>
<actions>read,write</actions>
</permission>并打开安全管理器启动服务器(我认为标志是-secmanager)。
https://stackoverflow.com/questions/73393221
复制相似问题