public User findOrAddUser( String username, String displayName, String emailAddress, String password ) { return lockRepository.lock("findOrAddUser", () -> { User user = findByUsername(username); if (user == null) { user = addUser(username, displayName, emailAddress, password); } return user; }); }
public User findUser(FindUserArgs findUserArgs) { User user = null; if (findUserArgs.userName != null) { user = getUserRepository().findByUsername(findUserArgs.userName); } else if (findUserArgs.userId != null) { user = getUserRepository().findById(findUserArgs.userId); } if (user == null) { throw new UserNotFoundException(findUserArgs); } return user; }
private User findUser(FindUserArgs findUserArgs) { User user = null; if (findUserArgs.userName != null) { user = getUserRepository().findByUsername(findUserArgs.userName); } else if (findUserArgs.userId != null) { user = getUserRepository().findById(findUserArgs.userId); } if (user == null) { throw new UserNotFoundException(findUserArgs); } return user; }
@Handle public JSONObject handle( HttpServletRequest request ) throws Exception { final String username = UrlUtils.urlDecode(request.getParameter("username")).trim().toLowerCase(); User user = userRepository.findByUsername(username); if (user == null) { // For form based authentication, username and displayName will be the same String randomPassword = UserRepository.createRandomPassword(); user = userRepository.findOrAddUser( username, username, null, randomPassword ); } AuthorizationContext authorizationContext = new UserNameAuthorizationContext( username, RemoteAddressUtil.getClientIpAddr(request) ); userRepository.updateUser(user, authorizationContext); CurrentUser.set(request, user.getUserId(), user.getUsername()); auditService.auditLogin(user); JSONObject json = new JSONObject(); json.put("status", "OK"); return json; } }
@Handle public JSONObject handle( @Required(name = "user-name") String userName, @Required(name = "auth") String auth, User authUser ) throws Exception { User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("User " + userName + " not found"); } if (!(authorizationRepository instanceof UpdatableAuthorizationRepository)) { throw new VisalloAccessDeniedException("Authorization repository does not support updating", authUser, userName); } for (String authStr : auth.split(SEPARATOR)) { ((UpdatableAuthorizationRepository) authorizationRepository).addAuthorization(user, authStr, authUser); } return userRepository.toJsonWithAuths(user); } }
@Handle public ClientApiUser handle( @Required(name = "user-name") String userName ) throws Exception { User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("user not found"); } Authorizations authorizations = authorizationRepository.getGraphAuthorizations(user); ClientApiUser clientApiUser = userRepository.toClientApiPrivate(user); Iterable<Workspace> workspaces = workspaceRepository.findAllForUser(user); for (Workspace workspace : workspaces) { clientApiUser.getWorkspaces().add(workspaceRepository.toClientApi(workspace, user, authorizations)); } return clientApiUser; } }
private int create(CreateUserArgs args) { Set<String> authorizations = new HashSet<>(); if (args.authorizations != null && args.authorizations.length() > 0) { authorizations.addAll(Arrays.asList(StringUtils.split(args.authorizations, ','))); } Set<String> privileges; if (args.privileges == null) { privileges = getUserRepository().getDefaultPrivileges(); } else { privileges = Privilege.stringToPrivileges(args.privileges); } getUserRepository().findOrAddUser( args.userName, args.userName, null, args.password, privileges, authorizations ); User user = getUserRepository().findByUsername(args.userName); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } printUser(getUserRepository().findById(user.getUserId())); return 0; }
@Handle public JSONObject handle( @Required(name = "user-name") String userName, @Required(name = "privileges") String privilegesParameter, User authUser ) throws Exception { Set<String> privileges = Privilege.stringToPrivileges(privilegesParameter); User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("Could not find user: " + userName); } privilegeRepository.setPrivileges(user, privileges, authUser); return userRepository.toJsonWithAuths(user); } }
@Handle public ClientApiSuccess handle( @Required(name = "user-name") String userName ) throws Exception { User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("Could find user: " + userName); } LOGGER.info("deleting user %s", user.getUserId()); userRepository.delete(user); this.graph.flush(); return VisalloResponse.SUCCESS; } }
@Handle public JSONObject handle( @Required(name = "user-name") String userName, @Required(name = "auth") String auth, User authUser ) throws Exception { User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("Could not find user: " + userName); } if (!(authorizationRepository instanceof UpdatableAuthorizationRepository)) { throw new VisalloAccessDeniedException("Authorization repository does not support updating", authUser, userName); } ((UpdatableAuthorizationRepository) authorizationRepository).removeAuthorization(user, auth, authUser); return userRepository.toJsonWithAuths(user); } }
@Handle public ClientApiSuccess handle( @Required(name = "workspaceId") String workspaceId, @Required(name = "user-name") String userName, User me ) throws Exception { User user = userRepository.findByUsername(userName); if (user == null) { throw new VisalloResourceNotFoundException("Could not find user: " + userName); } Workspace workspace = workspaceRepository.findById(workspaceId, user); if (workspace == null) { throw new VisalloResourceNotFoundException("Could not find workspace: " + workspaceId); } workspaceRepository.updateUserOnWorkspace(workspace, me.getUserId(), WorkspaceAccess.WRITE, user); return VisalloResponse.SUCCESS; } }
private int create(CreateUserArgs args) { getUserRepository().findOrAddUser( args.userName, args.userName, null, args.password ); User user = getUserRepository().findByUsername(args.userName); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } if (getAuthorizationRepositoryCliService() != null) { getAuthorizationRepositoryCliService().onCreateUser(this, args, user, getUser()); } if (getPrivilegeRepositoryCliService() != null) { getPrivilegeRepositoryCliService().onCreateUser(this, args, user, getUser()); } printUser(getUserRepository().findById(user.getUserId())); return 0; }