Wildfly 安全管理器:org.jboss.vfs.VirtualFilePermission 的权限失败

Posted

技术标签:

【中文标题】Wildfly 安全管理器:org.jboss.vfs.VirtualFilePermission 的权限失败【英文标题】:Wildfly Security Manager : Permission failed for org.jboss.vfs.VirtualFilePermission 【发布时间】:2015-11-02 21:13:09 【问题描述】:

我已经设置了我的 JBOSS Wildfly。我在访问代码中的某个部分时遇到问题,我收到如下错误消息:

Caused by: java.security.AccessControlException: WFSM000001: Permission check failed for ("org.jboss.vfs.VirtualFilePermission

我的standalone.xml 配置具有如下权限:

<subsystem xmlns="urn:jboss:domain:security-manager:1.0">
            <deployment-permissions>
                <minimum-set>
                    <permission class="java.security.AllPermission"/>
                    <permission class="org.jboss.naming.JndiPermission"/>
                    <permission class="java.lang.RuntimePermission" name="createClassLoader"/>
                    <permission class="java.lang.RuntimePermission" name="getClassLoader"/>
                    <permission class="java.io.FilePermission" name="/tmp" actions="read,write"/>
                    <permission class="java.io.FilePermission" name="/opt" actions="read"/>
                </minimum-set>
                <maximum-set>
                    <permission class="java.security.AllPermission"/>
                </maximum-set>
            </deployment-permissions>
        </subsystem>

任何人都可以帮助找出配置中缺少的内容吗?或者为什么我会收到这个错误?

谢谢。

【问题讨论】:

【参考方案1】:

我意识到这是一个老问题,但如果其他人偶然发现这个问题,您需要将虚拟文件权限添加到您的最小设置:

<permission class="org.jboss.vfs.VirtualFilePermission" name="&lt;&lt;ALL FILES&gt;&gt;" actions="read"/> 

添加到您的权限后会如下所示:

<subsystem xmlns="urn:jboss:domain:security-manager:1.0">
            <deployment-permissions>
                <minimum-set>
                    <permission class="java.security.AllPermission"/>
                    <permission class="org.jboss.naming.JndiPermission"/>
                    <permission class="java.lang.RuntimePermission" name="createClassLoader"/>
                    <permission class="java.lang.RuntimePermission" name="getClassLoader"/>
                    <permission class="java.io.FilePermission" name="/tmp" actions="read,write"/>
                    <permission class="java.io.FilePermission" name="/opt" actions="read"/>
                    <permission class="org.jboss.vfs.VirtualFilePermission" name="&lt;&lt;ALL FILES&gt;&gt;" actions="read"/>   
                </minimum-set>
                <maximum-set>
                    <permission class="java.security.AllPermission"/>
                </maximum-set>
            </deployment-permissions>
        </subsystem>

【讨论】:

【参考方案2】:

你需要 .要查看“名称”和“操作”是什么,请通过在启动脚本中将“-Djava.security.debug=access,failure,policy”传递给 JVM 来打开 java.security.debug 标志。日志将非常冗长。希望这会有所帮助。

【讨论】:

以上是关于Wildfly 安全管理器:org.jboss.vfs.VirtualFilePermission 的权限失败的主要内容,如果未能解决你的问题,请参考以下文章

Wildfly 安全管理器:org.jboss.vfs.VirtualFilePermission 的权限失败

如何在 Wildfly 中提供自定义身份验证/授权管理器

Wildfly - 更改管理领域的密码

Wildfly 远程访问管理控制台不起作用

Wildfly 管理 CLI 配置

安全域的 Wildfly 刷新缓存