public static CompositeData encodeAuthorization(Authorization authorization) throws Exception { if(authorization==null) return null; Object[] itemValues = new Object[2]; String[] itemNames = CompositeDataItemNames.AUTHORIZATION; itemValues[0] = authorization.getName(); itemValues[1] = authorization.getRoles(); return new CompositeDataSupport( OSGiTypes.AUTHORIZATION, itemNames, itemValues); } public static CompositeData encodeLogEntry(LogEntry entry)
String[] roleNames = authorization.getRoles();
String[] uaRoles = authorization.getRoles(); Roles wicketRoles = new Roles(); wicketRoles.addAll(Arrays.asList(uaRoles));
public String[] getImpliedRoles(String username) throws Exception { try { Role role = ac.getUserAdmin().getRole(username); if (role.getType() == Role.USER && role instanceof User) { return ac.getUserAdmin().getAuthorization((User) role) .getRoles(); } else return null; } catch (NullPointerException npe) { ac.debug("UserAdmin not available. "); return null; } }
@Override public Group getGroup(User user) { Authorization auth = m_useradmin.getAuthorization(user); String[] roles = auth.getRoles(); if (roles != null) { for (String role : roles) { Role result = m_useradmin.getRole(role); if (result.getType() == Role.GROUP) { Group group = (Group) result; Role[] members = group.getMembers(); if (members != null) { for (Role r : members) { if (r.getType() == Role.USER && r.getName().equals(user.getName())) { return group; } } } } } } return null; }