Provide AuthorizablePrivilegesInfo service to help user/group management
scripts query what the current user is allowed to do
-----------------------------------------------------------------------------------------------------------------------------
Key: SLING-1453
URL: https://issues.apache.org/jira/browse/SLING-1453
Project: Sling
Issue Type: Improvement
Components: JCR
Affects Versions: JCR Jackrabbit User Manager 2.0.6
Reporter: Eric Norman
Assignee: Eric Norman
Fix For: JCR Jackrabbit User Manager 2.0.6
Scripts that need to modify users or groups often need to know (user/group)
actions the the current user is provisioned to perform to conditionally render
sections of the page. To assist in that end, an AuthorizablePrivilegesInfo
service should assist the script writer in determining what is possible.
The service interface will contain these methods:
/**
* Checks whether the current user has been granted privileges
* to add a new user.
*
* @param jcrSession the JCR session of the current user
* @return true if the current user has the privileges, false otherwise
*/
boolean canAddUser(Session jcrSession);
/**
* Checks whether the current user has been granted privileges
* to add a new group.
*
* @param jcrSession the JCR session of the current user
* @return true if the current user has the privileges, false otherwise
*/
boolean canAddGroup(Session jcrSession);
/**
* Checks whether the current user has been granted privileges
* to update the properties of the specified user or group.
*
* @param jcrSession the JCR session of the current user
* @param principalId the user or group id to check
* @return true if the current user has the privileges, false otherwise
*/
boolean canUpdateProperties(Session jcrSession,
String principalId);
/**
* Checks whether the current user has been granted privileges
* to remove the specified user or group.
*
* @param jcrSession the JCR session of the current user
* @param principalId the user or group id to check
* @return true if the current user has the privileges, false otherwise
*/
boolean canRemove(Session jcrSession,
String principalId);
/**
* Checks whether the current user has been granted privileges
* to update the membership of the specified group.
*
* @param jcrSession the JCR session of the current user
* @param groupId the group id to check
* @return true if the current user has the privileges, false otherwise
*/
boolean canUpdateGroupMembers(Session jcrSession,
String groupId);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.