Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void checkPrivileges(User user) {
- List<String> requiredPrivs = new ArrayList<>();
- for (Role r : user.getAllRoles()) {
- checkSuperUserPrivilege(r);
- Iterable<Privilege> privileges = r.getPrivileges() != null ? r.getPrivileges() : Collections.emptySet();
- for (Privilege p : privileges) {
- if (!Context.hasPrivilege(p.getPrivilege())) {
- requiredPrivs.add(p.getPrivilege());
- }
- }
- }
- if (requiredPrivs.size() == 1) {
- throw new APIException("User.you.must.have.privilege", new Object[] { requiredPrivs.get(0) });
- } else if (requiredPrivs.size() > 1) {
- throw new APIException(String.format(ERROR_FORMAT, String.join(", ", requiredPrivs)));
- }
- }
- private void checkSuperUserPrivilege(Role r) {
- if(r.getRole().equals(RoleConstants.SUPERUSER)
- && !Context.hasPrivilege(PrivilegeConstants.ASSIGN_SYSTEM_DEVELOPER_ROLE)) {
- throw new APIException("User.you.must.have.role", new Object[] { RoleConstants.SUPERUSER });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement