private List<String> displayGroupRoles(BackingEngine engine, String userName, GroupPrincipal group, ShellTable table) { List<String> names = new ArrayList<>(); List<RolePrincipal> roles = engine.listRoles(group); if (roles != null && roles.size() >= 1) { for (RolePrincipal role : roles) { String roleName = role.getName(); names.add(roleName); table.addRow().addContent(userName, group.getName(), roleName); } } return names; }
private List<String> displayGroupRoles(BackingEngine engine, String userName, GroupPrincipal group, ShellTable table) { List<String> names = new ArrayList<>(); List<RolePrincipal> roles = engine.listRoles(group); if (roles != null && roles.size() >= 1) { for (RolePrincipal role : roles) { String roleName = role.getName(); names.add(roleName); table.addRow().addContent(userName, group.getName(), roleName); } } return names; }
/** * Add a role to a User. */ public void addRole(String username, String role) { String userInfos = users.get(username); if (userInfos != null) { for (RolePrincipal rp : listRoles(username)) { if (role.equals(rp.getName())) { return; } } for (GroupPrincipal gp : listGroups(username)) { if (role.equals(GROUP_PREFIX + gp.getName())) { return; } } String newUserInfos = userInfos + "," + role; users.put(username, newUserInfos); } saveUserProperties(); }
@Override public void addRole(String username, String role) { String userInfos = users.get(username); if (userInfos != null) { for (RolePrincipal rp : listRoles(username)) { if (role.equals(rp.getName())) { return; } } String newUserInfos = userInfos + "," + role; users.put(username, newUserInfos); } try { users.save(); } catch (Exception ex) { LOGGER.error("Cannot update users file,", ex); } }
sb.append("org.apache.karaf.service.guard.roles"); sb.append('='); sb.append(escapeforFilterString(rp.getName())); sb.append(')');
@Override public void addRole(String username, String role) { String userInfos = users.get(username); if (userInfos != null) { for (RolePrincipal rp : listRoles(username)) { if (role.equals(rp.getName())) { return; } } String newUserInfos = userInfos + "," + role; users.put(username, newUserInfos); } try { users.save(); } catch (Exception ex) { LOGGER.error("Cannot update users file,", ex); } }
@Override public void addRole(String username, String role) { String userInfos = users.get(username); if (userInfos != null) { for (RolePrincipal rp : listRoles(username)) { if (role.equals(rp.getName())) { return; } } for (GroupPrincipal gp : listGroups(username)) { if (role.equals(GROUP_PREFIX + gp.getName())) { return; } } String newUserInfos = userInfos + "," + role; users.put(username, newUserInfos); } try { users.save(); } catch (Exception ex) { LOGGER.error("Cannot update users file,", ex); } }
@Override public void addRole(String username, String role) { String userInfos = users.get(username); if (userInfos != null) { for (RolePrincipal rp : listRoles(username)) { if (role.equals(rp.getName())) { return; } } for (GroupPrincipal gp : listGroups(username)) { if (role.equals(GROUP_PREFIX + gp.getName())) { return; } } String newUserInfos = userInfos + "," + role; users.put(username, newUserInfos); } try { users.save(); } catch (Exception ex) { LOGGER.error("Cannot update users file,", ex); } }
@Override protected Object doExecute(BackingEngine engine) throws Exception { List<UserPrincipal> users = engine.listUsers(); ShellTable table = new ShellTable(); table.column("User Name"); table.column("Group"); table.column("Role"); for (UserPrincipal user : users) { List<String> reportedRoles = new ArrayList<>(); String userName = user.getName(); for (GroupPrincipal group : engine.listGroups(user)) { reportedRoles.addAll(displayGroupRoles(engine, userName, group, table)); } for (RolePrincipal role : engine.listRoles(user)) { String roleName = role.getName(); if (reportedRoles.contains(roleName)) { continue; } reportedRoles.add(roleName); table.addRow().addContent(userName, "", roleName); } if (reportedRoles.size() == 0) { table.addRow().addContent(userName, "", ""); } } table.print(System.out, !noFormat); return null; }
@Override protected Object doExecute(BackingEngine engine) throws Exception { List<UserPrincipal> users = engine.listUsers(); ShellTable table = new ShellTable(); table.column("User Name"); table.column("Group"); table.column("Role"); for (UserPrincipal user : users) { List<String> reportedRoles = new ArrayList<>(); String userName = user.getName(); for (GroupPrincipal group : engine.listGroups(user)) { reportedRoles.addAll(displayGroupRoles(engine, userName, group, table)); } for (RolePrincipal role : engine.listRoles(user)) { String roleName = role.getName(); if (reportedRoles.contains(roleName)) { continue; } reportedRoles.add(roleName); table.addRow().addContent(userName, "", roleName); } if (reportedRoles.size() == 0) { table.addRow().addContent(userName, "", ""); } } table.print(System.out, !noFormat); return null; }