use of com.zimbra.cs.account.accesscontrol.Right in project zm-mailbox by Zimbra.
the class GetRights method handle.
@Override
public Element handle(Element request, Map<String, Object> context) throws ServiceException {
ZimbraSoapContext zsc = getZimbraSoapContext(context);
Account account = getRequestedAccount(zsc);
if (!canAccessAccount(zsc, account)) {
throw ServiceException.PERM_DENIED("can not access account");
}
Set<Right> specificRights = null;
for (Element eACE : request.listElements(AccountConstants.E_ACE)) {
if (specificRights == null)
specificRights = new HashSet<Right>();
specificRights.add(RightManager.getInstance().getUserRight(eACE.getAttribute(AccountConstants.A_RIGHT)));
}
List<ZimbraACE> aces = (specificRights == null) ? ACLUtil.getAllACEs(account) : ACLUtil.getACEs(account, specificRights);
Element response = zsc.createElement(AccountConstants.GET_RIGHTS_RESPONSE);
if (aces != null) {
for (ZimbraACE ace : aces) {
ToXML.encodeACE(response, ace);
}
}
return response;
}
use of com.zimbra.cs.account.accesscontrol.Right in project zm-mailbox by Zimbra.
the class TestJaxbProvisioning method testGetRight.
@Test
public void testGetRight() throws Exception {
ZimbraLog.test.debug("Starting testGetRight");
Right right = prov.getRight("adminConsoleAccountRights", true);
assertNotNull("Right", right);
RightClass rightClass = right.getRightClass();
assertEquals("right RightClass", rightClass, RightClass.ADMIN);
assertEquals("right Name", "adminConsoleAccountRights", right.getName());
}
Aggregations