public static Collection<Privilege> createPrivileges(User user) { Collection<Privilege> grantedList = new ArrayList<Privilege>(); Set<Group> visitedGroups = new HashSet<Group>(); Set<Group> groups = user.getGroups(); for (Group group : groups) { Collection<Privilege> privileges = createPrivileges(group, visitedGroups); grantedList.add(new SimpleGroup(group.getName(), group.getDescription(), privileges)); } return grantedList; }
@Override public org.openl.rules.security.User loadUserByUsername(String name) throws UsernameNotFoundException, DataAccessException { User user = userDao.getUserByName(name); if (user == null) { throw new UsernameNotFoundException("Unknown user: '" + name + "'"); } Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(user); return new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), privileges); }
public static SimpleGroup wrap(Group group) { Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(group, new HashSet<Group>()); return new SimpleGroup(group.getName(), group.getDescription(), privileges); }
@Override public void updateGroup(String name, org.openl.rules.security.Group group) { Group persistGroup = groupDao.getGroupByName(name); persistGroup.setName(group.getName()); persistGroup.setDescription(group.getDescription()); Set<Group> includedGroups = new HashSet<Group>(); Set<String> privileges = new HashSet<String>(); for (Privilege privilege : group.getPrivileges()) { String privilegeName = privilege.getName(); if (privilege instanceof org.openl.rules.security.Group) { Group includedGroup = groupDao.getGroupByName(privilegeName); if (!persistGroup.equals(includedGroup)) { // Persisting group should not include itself includedGroups.add(includedGroup); } else { // Save all privileges of itself persisting group Set<String> includedPrivileges = includedGroup.getPrivileges(); if (includedPrivileges != null) { privileges.addAll(includedPrivileges); } } } else { privileges.add(privilegeName); } } persistGroup.setIncludedGroups(!includedGroups.isEmpty() ? includedGroups : null); persistGroup.setPrivileges(privileges); groupDao.update(persistGroup); }
public void addUser(org.openl.rules.security.User user) { User persistUser = new User(); persistUser.setLoginName(user.getUsername()); persistUser.setPasswordHash(user.getPassword()); persistUser.setFirstName(user.getFirstName()); persistUser.setSurname(user.getLastName()); Set<Group> groups = new HashSet<Group>(); for (GrantedAuthority auth : user.getAuthorities()) { groups.add(groupDao.getGroupByName(auth.getAuthority())); } persistUser.setGroups(groups); userDao.save(persistUser); }
@Override public void addGroup(org.openl.rules.security.Group group) { Group persistGroup = new Group(); persistGroup.setName(group.getName()); persistGroup.setDescription(group.getDescription()); Set<Group> includedGroups = new HashSet<Group>(); Set<String> privileges = new HashSet<String>(); for (Privilege privilege : group.getPrivileges()) { String privilegeName = privilege.getName(); if (privilege instanceof org.openl.rules.security.Group) { includedGroups.add(groupDao.getGroupByName(privilegeName)); } else { privileges.add(privilegeName); } } if (!includedGroups.isEmpty()) { persistGroup.setIncludedGroups(includedGroups); } if (!privileges.isEmpty()) { persistGroup.setPrivileges(privileges); } groupDao.save(persistGroup); }
public void updateUser(org.openl.rules.security.User user) { User persistUser = userDao.getUserByName(user.getUsername()); persistUser.setFirstName(user.getFirstName()); persistUser.setSurname(user.getLastName()); Set<Group> groups = new HashSet<Group>(); for (GrantedAuthority auth : user.getAuthorities()) { groups.add(groupDao.getGroupByName(auth.getAuthority())); } persistUser.setGroups(groups); if (user.getPassword() != null) { persistUser.setPasswordHash(user.getPassword()); } userDao.update(persistUser); }
@Override public org.openl.rules.security.User loadUserByUsername(String name) throws UsernameNotFoundException, DataAccessException { User user = userDao.getUserByName(name); if (user == null) { throw new UsernameNotFoundException("Unknown user: '" + name + "'"); } Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(user); return new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), privileges); }
public static Collection<Privilege> createPrivileges(User user) { Collection<Privilege> grantedList = new ArrayList<Privilege>(); Set<Group> visitedGroups = new HashSet<Group>(); Set<Group> groups = user.getGroups(); for (Group group : groups) { Collection<Privilege> privileges = createPrivileges(group, visitedGroups); grantedList.add(new SimpleGroup(group.getName(), group.getDescription(), privileges)); } return grantedList; }
public void addUser(org.openl.rules.security.User user) { User persistUser = new User(); persistUser.setLoginName(user.getUsername()); persistUser.setPasswordHash(user.getPassword()); persistUser.setFirstName(user.getFirstName()); persistUser.setSurname(user.getLastName()); Set<Group> groups = new HashSet<Group>(); for (GrantedAuthority auth : user.getAuthorities()) { groups.add(groupDao.getGroupByName(auth.getAuthority())); } persistUser.setGroups(groups); userDao.save(persistUser); }
@Override public void addGroup(org.openl.rules.security.Group group) { Group persistGroup = new Group(); persistGroup.setName(group.getName()); persistGroup.setDescription(group.getDescription()); Set<Group> includedGroups = new HashSet<Group>(); Set<String> privileges = new HashSet<String>(); for (Privilege privilege : group.getPrivileges()) { String privilegeName = privilege.getName(); if (privilege instanceof org.openl.rules.security.Group) { includedGroups.add(groupDao.getGroupByName(privilegeName)); } else { privileges.add(privilegeName); } } if (!includedGroups.isEmpty()) { persistGroup.setIncludedGroups(includedGroups); } if (!privileges.isEmpty()) { persistGroup.setPrivileges(privileges); } groupDao.save(persistGroup); }
public static SimpleGroup wrap(Group group) { Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(group, new HashSet<Group>()); return new SimpleGroup(group.getName(), group.getDescription(), privileges); }
public void updateUser(org.openl.rules.security.User user) { User persistUser = userDao.getUserByName(user.getUsername()); persistUser.setFirstName(user.getFirstName()); persistUser.setSurname(user.getLastName()); Set<Group> groups = new HashSet<Group>(); for (GrantedAuthority auth : user.getAuthorities()) { groups.add(groupDao.getGroupByName(auth.getAuthority())); } persistUser.setGroups(groups); if (user.getPassword() != null) { persistUser.setPasswordHash(user.getPassword()); } userDao.update(persistUser); }
@Override public org.openl.rules.security.User loadUserByUsername(String name) throws UsernameNotFoundException, DataAccessException { User user = userDao.getUserByName(name); if (user == null) { throw new UsernameNotFoundException("Unknown user: '" + name + "'"); } Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(user); return new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), privileges); }
public static Collection<Privilege> createPrivileges(User user) { Collection<Privilege> grantedList = new ArrayList<Privilege>(); Set<Group> visitedGroups = new HashSet<Group>(); Set<Group> groups = user.getGroups(); for (Group group : groups) { Collection<Privilege> privileges = createPrivileges(group, visitedGroups); grantedList.add(new SimpleGroup(group.getName(), group.getDescription(), privileges)); } return grantedList; }
public static SimpleGroup wrap(Group group) { Collection<Privilege> privileges = PrivilegesEvaluator.createPrivileges(group, new HashSet<Group>()); return new SimpleGroup(group.getName(), group.getDescription(), privileges); }
public List<org.openl.rules.security.User> getAllUsers() { List<User> users = userDao.getAllUsers(); List<org.openl.rules.security.User> resultUsers = new ArrayList<org.openl.rules.security.User>(); for (User user : users) { org.openl.rules.security.User resultUser = new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), PrivilegesEvaluator.createPrivileges(user)); resultUsers.add(resultUser); } return resultUsers; }
public List<org.openl.rules.security.User> getAllUsers() { List<User> users = userDao.getAllUsers(); List<org.openl.rules.security.User> resultUsers = new ArrayList<org.openl.rules.security.User>(); for (User user : users) { org.openl.rules.security.User resultUser = new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), PrivilegesEvaluator.createPrivileges(user)); resultUsers.add(resultUser); } return resultUsers; }
public List<org.openl.rules.security.User> getUsersByPrivilege(String privilege) { List<User> users = userDao.getAllUsers(); List<org.openl.rules.security.User> resultUsers = new ArrayList<org.openl.rules.security.User>(); for (User user : users) { org.openl.rules.security.User resultUser = new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), PrivilegesEvaluator.createPrivileges(user)); if (resultUser.hasPrivilege(Privileges.ADMIN.name()) || resultUser.hasPrivilege(privilege)) { resultUsers.add(resultUser); } } return resultUsers; }
public List<org.openl.rules.security.User> getUsersByPrivilege(String privilege) { List<User> users = userDao.getAllUsers(); List<org.openl.rules.security.User> resultUsers = new ArrayList<org.openl.rules.security.User>(); for (User user : users) { org.openl.rules.security.User resultUser = new SimpleUser(user.getFirstName(), user.getSurname(), user.getLoginName(), user.getPasswordHash(), PrivilegesEvaluator.createPrivileges(user)); if (resultUser.hasPrivilege(Privileges.ADMIN.name()) || resultUser.hasPrivilege(privilege)) { resultUsers.add(resultUser); } } return resultUsers; }