In alfresco execution of webscript, we can define whether the webscript authentication. Advanced Description Options
But I want to know “Is it a single webscript can be executed as admin or member of some group only modifying authentication property?”
I want to write new programs for member of some group, not member of admin group, can create new users, upload users and delete existing users. All webscripts[user-csv-upload.post, person.delete, people.post] to do these tasks require admin authentication. If I changed to authentication of these webscripts to user and run these webscript as admin like <authentication runas="admin">user</authentication>. All normal users can create new users. So I want to check that these webscript can only invoked one condition is met.
If I cannot check, I have to do two ways.
- I have to write the same logic to two different webscripts, one for admin and one for member of some group
- write authentication checking inside controller file with sudo like tool for current user is admin or member of some group.
I want to get any of your suggestion. Any help is greatly appreciated.
Solution:
I found exact code for my needs in sudo-like-tool-for-alfresco-security-aspects
Like Will Abson said in another question post, the most elegant solution is using this: Sudo Tool for Alfresco WebScripts. With this tool you can grant your user (if this users is part of a certain custom group) temporarily admin privileges. If not, it acts as a normal user with his own privileges. It requires some Java coding, though.
Otherwise, the solution number 1 is what we achieved for an our client. We developed a custom webscript with a custom url known only to their manager users, that can run script with “runas=admin” option, and make what they want. In this case, what you can do is: expose a link to the “user management webscript”, only if the manager user is logged in, otherwise the link doesn’t appear, and you respect some sort of “security”. It’s not very elegant but does the trick.