@Transactional
	@CachePut(value = DIST_CACHE_USERS, key = "#user.userId")
	@Override
	public User createUser(User user) {
		encodePassword(user);
		Instant createdAt = now();
		user.setCreatedAt(createdAt);
		user.setLastModifiedAt(createdAt);
		User createdBy = getOne(ControllerConstants.NGRINDER_INITIAL_ADMIN_USERID);
		user.setCreatedBy(createdBy);
		user.setLastModifiedBy(createdBy);
		return saveWithoutPasswordEncoding(user);
	}
Create an user avoiding ModelAspect behavior.

@param user userID, fullName, role, password.
@return User
ngrinder-controller/src/main/java/org/ngrinder/user/service/UserService.java