~~~~~~~~~~
Background~~~~~~~~~~
If using API to create a business object for a non-administrative account, then an exception may occur like this:
the current user don't have the modify permission on team.
~~~~~~~~~~
Solution~~~~~~~~~~
1. Add ACL to domain "/System(Site)" like the setting as below:
![](https://i-blog.csdnimg.cn/blog_migrate/ad7734367b2138823b5356e1df0ce332.png)
But this solution is too loose, and may cause someone update the team member incorrectly.
2. To set the user of the session to be the administrator, which is to use administrator's permission to do the creation.
1 // Get the current session before setting the admin. 2 SessionContext previous = SessionContext.newContext(); 3 4 try { 5 // To set the user of the session to be the administrator 6 SessionHelper.manager.setAdministrator(); 7 8 // To set the user of the session to be a specific user 9 // SessionHelper.manager.setPrincipal(WTUser); 10 // add call to create business object here. 11 12 } 13 14 15 finally { 16 SessionContext.setContext(previous); 17 }