We are doing CI/CD with repository based deployment.
Whenever we created a new package, we need to set the wsd file with Anonymous for List and Execute.
I read through the topic here.
I created aclread.cnf in package/config folder with the following and it work.
<?xml version="1.0" encoding="UTF-8"?>
Anonymous
But when I put the same content into aclmap_sm.cnf for execute, it just not working.
I still have the Execute ACL being default.
Just wonder how could I create a package based ACL properly.
What I do know is that you would want to use one or more of these 4 methods:
setAclGroup(String resource, String aclName) - sets the Execute ACL privileges on the indicated resource
setReadAclGroup(String resource, String aclName) - sets the Read ACL privileges on the indicated resource
setWriteAclGroup(String resource, String aclName) - sets the Write ACL privileges on the indicated resource
setBrowseAclGroup(String resource, String aclName) - sets the List ACL privileges on the indicated resource
Besides these methods, the ACLManager class has all sort of methods to handle ACL related actions (verification if an ACL is used, adding groups to ACLs, etc…)
Here is the code, you can built a wrapper service and add them as startup services in the package.
Create a flow service with the below inputs and invoke "wm.server.ns:setACLInfo". To make "wm.server.ns:setACLInfo" visible in your designer add the setting "watt.server.ns.hideWmRoot=false" on IS Settings > Extended, refresh Desginer console
name
acl
browseaclgroup
name=complete ns of wsd eg., Default:new_wsd
acl=Anonymous
browseaclgroup=Anonymous
As this is internal service, there is no docs available and this service might change from version to verison without prior notice, hence use this service at your own risk.
Let me know if you have any questions, you can contact me via email also.