Reputation: 265
I have My JBOSS Wildfly set up. I have a problem when accessing a certain part in my code that I get an error with the message as bellow:
Caused by: java.security.AccessControlException: WFSM000001: Permission check failed for ("org.jboss.vfs.VirtualFilePermission
I have my standalone.xml config with permissions as bellow:
<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>
Can anyone help to figure out what is missing in the config? or why am I receiving this error?
Thanks.
Upvotes: 2
Views: 1845
Reputation: 1362
I realize this is an old question, but in case anyone else stumbles on this question, you need to add Virtual File Permissions to your minimum-set:
<permission class="org.jboss.vfs.VirtualFilePermission" name="<<ALL FILES>>" actions="read"/>
Which when added to your permissions would look like this:
<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="<<ALL FILES>>" actions="read"/>
</minimum-set>
<maximum-set>
<permission class="java.security.AllPermission"/>
</maximum-set>
</deployment-permissions>
</subsystem>
Upvotes: 1
Reputation: 81
You need . To see what the "name" and "action" are, turn on the java.security.debug flag by passing "-Djava.security.debug=access,failure,policy" to the JVM in the startup script. The log will be very verbose. Hope this helps.
Upvotes: 0