void checkCreateUserPermission(UserDto user) throws KaaAdminServiceException { if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); if (!isEmpty(user.getTenantId())) { checkTenantId(user.getTenantId()); } } }
@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userFacade.findByUserName(username); if (user == null) { throw new UsernameNotFoundException("user not found"); } AuthUserDto authUser = new AuthUserDto(user); if (authUser.getAuthority() != KaaAuthorityDto.KAA_ADMIN) { UserDto userDto; try { userDto = controlService.getUserByExternalUid(authUser.getExternalUid()); authUser.setId(userDto.getId()); authUser.setTenantId(userDto.getTenantId()); } catch (ControlServiceException ex) { throw new UsernameNotFoundException("unable to fetch user details", ex); } } return authUser; }
protected org.kaaproject.kaa.common.dto.admin.UserDto toUser(UserDto tenantUser) { User user = userFacade.findById(Long.valueOf(tenantUser.getExternalUid())); org.kaaproject.kaa.common.dto.admin.UserDto result = new org.kaaproject.kaa.common.dto.admin.UserDto( user.getId().toString(), user.getUsername(), user.getFirstName(), user.getLastName(), user.getMail(), KaaAuthorityDto.valueOf(user.getAuthorities().iterator().next().getAuthority())); result.setId(tenantUser.getId()); result.setTenantId(tenantUser.getTenantId()); return result; }
/** * Instantiates new user. */ public User(UserDto dto) { if (dto != null) { this.id = getLongId(dto); this.username = dto.getUsername(); this.externalUid = dto.getExternalUid(); this.authority = dto.getAuthority(); Long tenantId = getLongId(dto.getTenantId()); this.tenant = tenantId != null ? new Tenant(tenantId) : null; } }
@Override public void deleteUser(String userId) throws KaaAdminServiceException { try { UserDto user = controlService.getUser(userId); Utils.checkNotNull(user); if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); checkTenantId(user.getTenantId()); } userFacade.deleteUser(Long.valueOf(user.getExternalUid())); controlService.deleteUser(user.getId()); } catch (Exception ex) { throw Utils.handleException(ex); } }
@Override public org.kaaproject.kaa.common.dto.admin.UserDto getUser(String userId) throws KaaAdminServiceException { try { UserDto user = controlService.getUser(userId); Utils.checkNotNull(user); if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); checkTenantId(user.getTenantId()); } return toUser(user); } catch (Exception ex) { throw Utils.handleException(ex); } }
void editUserFacadeUser(org.kaaproject.kaa.common.dto.admin.UserDto user) throws KaaAdminServiceException, ControlServiceException { User storedUserOld = userFacade.findByUserName(user.getUsername()); Utils.checkNotNull(storedUserOld); user.setExternalUid(String.valueOf(storedUserOld.getId())); UserDto storedUserNew = controlService.getUser(user.getId()); Utils.checkNotNull(storedUserNew); if (!getCurrentUser().getAuthority().equals(KaaAuthorityDto.KAA_ADMIN)) { checkTenantId(storedUserNew.getTenantId()); } storedUserOld.setMail(user.getMail()); storedUserOld.setFirstName(user.getFirstName()); storedUserOld.setLastName(user.getLastName()); userFacade.save(storedUserOld); }