Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. private void checkPrivileges(User user) {
  2. List<String> requiredPrivs = new ArrayList<>();
  3. for (Role r : user.getAllRoles()) {
  4. checkSuperUserPrivilege(r);
  5. Iterable<Privilege> privileges = r.getPrivileges() != null ? r.getPrivileges() : Collections.emptySet();
  6. for (Privilege p : privileges) {
  7. if (!Context.hasPrivilege(p.getPrivilege())) {
  8. requiredPrivs.add(p.getPrivilege());
  9. }
  10. }
  11. }
  12. if (requiredPrivs.size() == 1) {
  13. throw new APIException("User.you.must.have.privilege", new Object[] { requiredPrivs.get(0) });
  14. } else if (requiredPrivs.size() > 1) {
  15. throw new APIException(String.format(ERROR_FORMAT, String.join(", ", requiredPrivs)));
  16. }
  17. }
  18.  
  19. private void checkSuperUserPrivilege(Role r) {
  20. if(r.getRole().equals(RoleConstants.SUPERUSER)
  21. && !Context.hasPrivilege(PrivilegeConstants.ASSIGN_SYSTEM_DEVELOPER_ROLE)) {
  22. throw new APIException("User.you.must.have.role", new Object[] { RoleConstants.SUPERUSER });
  23. }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement