Example usage for org.springframework.http HttpStatus UNAUTHORIZED

List of usage examples for org.springframework.http HttpStatus UNAUTHORIZED

Introduction

In this page you can find the example usage for org.springframework.http HttpStatus UNAUTHORIZED.

Prototype

HttpStatus UNAUTHORIZED

To view the source code for org.springframework.http HttpStatus UNAUTHORIZED.

Click Source Link

Document

401 Unauthorized .

Usage

From source file:cu.uci.coj.restapi.controller.RestProblemsController.java

@ApiOperation(value = "Agregar/Quitar problema como favorito", notes = "Cambiar el estado de favorito de un problema dado el identificador del mismo")
@ApiResponses(value = {//ww w.j  a va 2  s.c om
        @ApiResponse(code = 401, message = "username token mismatch<br> hash incorrect<br> token expirated<br> username apikey mismatch<br> apikey hash incorrect<br> apikey expirated<br> apikey secret incorrect<br> token or apikey incorrect"),
        @ApiResponse(code = 404, message = "bad pid") })
@RequestMapping(value = "/togglefavorite/{pid}", method = RequestMethod.PUT, headers = "Accept=application/json")
@ResponseBody
public ResponseEntity<?> togglefavorite(
        @ApiParam(value = "Llave del desarrollador") @RequestHeader(required = true, value = "apikey") String apikey,
        @ApiParam(value = "Token de usuario") @RequestHeader(required = true, value = "token") String token,
        @ApiParam(value = "Identificador del problema") @PathVariable int pid) {
    try {

        int error = ValidateApiAndToken(apikey, token);
        if (error > 0) {
            if (error == 8)
                return new ResponseEntity<>(TokenUtils.ErrorMessage(8), HttpStatus.BAD_REQUEST);
            else
                return new ResponseEntity<>(TokenUtils.ErrorMessage(error), HttpStatus.UNAUTHORIZED);
        }

        if (!problemDAO.exists(pid))
            return new ResponseEntity<>(ErrorUtils.BAD_PID, HttpStatus.NOT_FOUND);

        String username;
        username = ExtractUser(token);

        int uid = problemDAO.integer("select.uid.by.username", username);
        if (!problemDAO.bool("problem.ismark.asfavorite.byuser", uid, pid))
            problemDAO.dml("problem.mark.asfavorite.byuser", uid, pid);
        else if (problemDAO.bool("problem.ismark.asfavorite.byuser", uid, pid))
            problemDAO.dml("problem.unmark.favorite.byuser", uid, pid);

        return new ResponseEntity<>(HttpStatus.OK);
    } catch (IOException ex) {
        return new ResponseEntity<>(TokenUtils.ErrorMessage(8), HttpStatus.BAD_REQUEST);
    }
}

From source file:cu.uci.coj.restapi.controller.RestUserProfileController.java

@ApiOperation(value = "Obtener el perfil de un usuario", notes = "Dado el nombre de usuario, devuelve el perfil de este.", response = UserProfileRest.class)
@ApiResponses(value = { @ApiResponse(code = 401, message = "username disabled"),
        @ApiResponse(code = 404, message = "bad user") })
@RequestMapping(value = "/{username}", method = RequestMethod.GET, headers = "Accept=application/json")
@ResponseBody/* w  ww. j  a  v  a2 s. com*/
public ResponseEntity<?> getUserProfile(@ApiParam(value = "Nombre  de usuario") @PathVariable String username) {

    User user = null;

    if (!userDAO.bool("is.user.enabled", username))
        return new ResponseEntity<>(ErrorUtils.USERNAME_DISABLED, HttpStatus.UNAUTHORIZED);

    Integer uid = userDAO.idByUsername(username);
    if (uid != null && userDAO.isUser(username)) {
        user = userDAO.loadUserData(username);
        if (user.isTeam())
            return new ResponseEntity<>(ErrorUtils.BAD_USER, HttpStatus.NOT_FOUND);

        List<Problem> solved = userDAO.objects("problems.solved.1", Problem.class, user.getUid());
        List<Problem> unsolved = userDAO.getProblemsTryied(user.getUid());

        if (solved.isEmpty()) {
            user.setLast_accepted("***");
        }
        if (unsolved.isEmpty() && solved.isEmpty()) {
            user.setLast_submission("***");
        }

        user.setSolved(solved.size());
        user.setUnsolved(unsolved.size());
        user.setRanking(userDAO.integer("ranking.position", username));
        user.setTot_ranking(userDAO.countEnabledUsers(null, false));
        user.setRankingbycountry(userDAO.integer("ranking.position.country", user.getCountry_id(), username));
        user.setTot_rankingbycountry(userDAO.countEnabledUsersByCountry(null, false, user.getCountry_id()));
        user.setRankingbyinstitution(
                userDAO.integer("ranking.position.institution", user.getInstitution_id(), username));
        user.setTot_rankingbyinstitution(
                userDAO.countEnabledUsersByInstitutions(null, false, user.getInstitution_id()));
    }

    Entry lastentry = userDAO.object("last.entry.by.user", Entry.class, uid);

    String lastentryText = "";
    String lastentryDate = "";
    if (lastentry != null) {
        lastentryText = lastentry.getText();
        lastentryDate = lastentry.getDate().toString();
    }

    int followers = userDAO.integer(0, "count.followers", uid);
    int following = userDAO.integer(0, "count.following", uid);

    String avatar = "http://coj.uci.cu/images/avatars/" + username;
    String gender = "female";
    if (user.getGender() == 1)
        gender = "male";

    UserProfileRest userRest = new UserProfileRest(avatar, user.getName(), user.getLastname(), username, gender,
            user.getCountry(), user.getCountry_desc(), user.getInstitution_desc(), user.getPlanguage(),
            user.getRgdate(), user.getLast_submission(), user.getLast_accepted(), user.getScore(),
            user.getRanking(), user.getRankingbyinstitution(), user.getRankingbycountry(), lastentryText,
            lastentryDate, followers, following);
    userRest.setNickname(user.getNick());

    return new ResponseEntity<>(userRest, HttpStatus.OK);
}

From source file:cu.uci.coj.restapi.controller.RestUserProfileController.java

@ApiOperation(value = "Modificar Perfil de Usuario", notes = "Modifica el perfil de usuario con los datos enviados.")
@ApiResponses(value = {/*from ww w.  j ava2s .c o  m*/
        @ApiResponse(code = 401, message = "username token mismatch<br> hash incorrect<br> token expirated<br> username apikey mismatch<br> apikey hash incorrect<br> apikey expirated<br> apikey secret incorrect<br> token or apikey incorrect"),
        @ApiResponse(code = 400, message = "institution witout country<br> incorrect request"),
        @ApiResponse(code = 412, message = "Nick must not more than 25 characters<br> Nick must not less than 3 characters<br> The first name is too short<br> The first name is too long<br> The first name contains invalid characters<br> The last name is too long<br> The last name is too short<br> The last name contains invalid characters<br> Required field<br> This e-mail already exists<br> Invalid email."),
        @ApiResponse(code = 404, message = "bad user<br> bad institution id<br> bad language<br> bad locale<br> bad gender<br> bad country id"),
        @ApiResponse(code = 500, message = "failed send email"), })
@RequestMapping(value = "/update", method = RequestMethod.PUT, headers = "Accept=application/json", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
@ResponseBody
public ResponseEntity<?> UpdateProfile(
        @ApiParam(value = "Llave de desarrollador") @RequestParam(value = "apikey") String apikey,
        @ApiParam(value = "Token de usuario") @RequestParam(value = "token") String token,
        @ApiParam(value = "Ao de nacimiento") @RequestParam(value = "year", required = false) Integer year,
        @ApiParam(value = "Mes de nacimiento") @RequestParam(value = "month", required = false) Integer month,
        @ApiParam(value = "Da de nacimiento") @RequestParam(value = "day", required = false) Integer day,
        @ApiParam(value = "Apodo") @RequestParam(value = "nick", required = false) String nick,
        @ApiParam(value = "Nombre") @RequestParam(value = "name", required = false) String name,
        @ApiParam(value = "Apellido") @RequestParam(value = "lastname", required = false) String lastname,
        @ApiParam(value = "Correo") @RequestParam(value = "email", required = false) String email,
        @ApiParam(value = "Identificador del Pas") @RequestParam(value = "country_id", required = false) Integer country_id,
        @ApiParam(value = "Identificador de la Institucin") @RequestParam(value = "institution_id", required = false) Integer institution_id,
        @ApiParam(value = "Identificador del lenguaje favorito (Ver filters)") @RequestParam(value = "lid", required = false) Integer lid,
        @ApiParam(value = "Identificador del idioma favorito (Ver filters)") @RequestParam(value = "locale", required = false) Integer locale,
        @ApiParam(value = "Sexo:  (1)Hombre (2) Mujer", allowableValues = "1,2") @RequestParam(value = "gender", required = false) Integer gender) {

    try {

        int error = ValidateApiAndToken(apikey, token);
        if (error > 0) {
            return new ResponseEntity<>(TokenUtils.ErrorMessage(error), HttpStatus.UNAUTHORIZED);
        }

        String username = null;
        username = ExtractUser(token);

        User user = userDAO.loadAllUserData(username);
        if (year != null)
            user.setYear(year);
        if (month != null)
            user.setMonth(month);
        if (day != null)
            user.setDay(day);
        user.setUsername(username);
        if (nick != null)
            user.setNick(nick);
        if (name != null)
            user.setName(name);
        if (lastname != null)
            user.setLastname(lastname);
        if (email != null)
            user.setEmail(email);
        if (country_id != null)
            user.setCountry_id(country_id);
        if (institution_id != null)
            user.setInstitution_id(institution_id);
        if (lid != null)
            user.setLid(lid);
        if (locale != null)
            user.setLocale(locale);
        if (gender != null)
            user.setGender(gender);

        user.setUid(userDAO.integer("select.uid.by.username", username));
        user.setDob(new Date(user.getYear() - 1900, user.getMonth() - 1, user.getDay()));

        boolean is_team = !userDAO.bool("is.user", user.getUsername());
        if (is_team)
            return new ResponseEntity<>(ErrorUtils.BAD_USER, HttpStatus.NOT_FOUND);

        user.setTeam(false);

        String errors = ValidateUser(user);
        if (!errors.equals("0"))
            return new ResponseEntity<>(errors, HttpStatus.PRECONDITION_FAILED);

        if (country_id != null && !ValidateCountry(country_id))
            return new ResponseEntity<>(ErrorUtils.BAD_COUNTRY_ID, HttpStatus.NOT_FOUND);

        if (country_id != null && institution_id != null && !ValidateInstitutionID(country_id, institution_id))
            return new ResponseEntity<>(ErrorUtils.BAD_INSTITUTION_ID, HttpStatus.NOT_FOUND);

        if (country_id == null && institution_id != null)
            return new ResponseEntity<>(ErrorUtils.INSTITUTION_WITHOUT_COUNTRY, HttpStatus.BAD_REQUEST);

        if (lid != null && !ValidateLanguage(lid))
            return new ResponseEntity<>(ErrorUtils.BAD_LANGUAGE, HttpStatus.NOT_FOUND);

        if (locale != null && !ValidateLocale(locale))
            return new ResponseEntity<>(ErrorUtils.BAD_LOCALE, HttpStatus.NOT_FOUND);

        if (gender != null && gender != 1 && gender != 2)
            return new ResponseEntity<>(ErrorUtils.BAD_GENDER, HttpStatus.NOT_FOUND);

        try {
            userDAO.updateUser(user);
        } catch (Exception e) {
            return new ResponseEntity<>(ErrorUtils.FAILED_SEND_EMAIL, HttpStatus.INTERNAL_SERVER_ERROR);
        }

    } catch (IOException ex) {
        return new ResponseEntity<>(ErrorUtils.INCORRECT_JSON, HttpStatus.BAD_REQUEST);
    }

    return new ResponseEntity<>(HttpStatus.OK);
}

From source file:eionet.webq.web.interceptor.CdrAuthorizationInterceptor.java

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    String authorization = request.getHeader(AUTHORIZATION_HEADER);
    //        if (true) return PROCEED;
    if (StringUtils.isNotEmpty(authorization) || request.getParameter("auth") != null) {
        // if Basic auth is present in the request, then try to log in to CDR to test if it is valid token for given domain.
        // "auth" parameter is just meant for testing the CDR API in development environment - WebQ asks to authenticate.
        HttpHeaders headers = new HttpHeaders();
        headers.add(AUTHORIZATION_HEADER, authorization);
        //            return PROCEED;
        try {//from   w ww. j a v  a2 s  .c om
            ResponseEntity<String> loginResponse = restOperations.postForEntity(
                    extractCdrUrl(request) + "/" + cdrLoginMethod, new HttpEntity<Object>(headers),
                    String.class);
            LOGGER.info("Response code received from CDR basic authorization request "
                    + loginResponse.getStatusCode());
            return PROCEED;
        } catch (HttpStatusCodeException e) {
            if (e.getStatusCode() != HttpStatus.UNAUTHORIZED) {
                LOGGER.warn("Authorization against CDR failed with unexpected HTTP status code", e);
            }
        }
    } else {
        // if Basic auth is not present, then test if user is already authorised in this domain
        // by using provided cookies to fetch CDR envelope properties page.
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            HttpHeaders headers = new HttpHeaders();
            for (Cookie cookie : cookies) {
                // put ZopeId parameter to request header. It works only when the value is surrounded with quotes.
                headers.add("Cookie", cookiesConverter.convertCookieToString(cookie));
            }
            String urlToFetch = extractCdrEnvelopeUrl(request) + "/" + cdrEnvelopePropertiesMethod;
            //ResponseEntity<String> loginResponse = restOperations.exchange(urlToFetch, HttpMethod.GET,
            //        new HttpEntity<Object>(headers), String.class);

            HttpResponse responseFromCdr = fetchUrlWithoutRedirection(urlToFetch, headers);
            try {
                int statusCode = responseFromCdr.getStatusLine().getStatusCode();

                LOGGER.info("Response code received from CDR envelope request using cookies " + statusCode);
                if (statusCode == HttpStatus.OK.value()) {
                    request.setAttribute(PARSED_COOKIES_ATTRIBUTE,
                            cookiesConverter.convertCookiesToString(cookies));
                    return PROCEED;
                } else if ((statusCode == HttpStatus.MOVED_PERMANENTLY.value()
                        || statusCode == HttpStatus.MOVED_TEMPORARILY.value())
                        && responseFromCdr.getFirstHeader("Location") != null) {
                    // redirect to CDR login page
                    String redirectUrl = extractCdrUrl(request)
                            + responseFromCdr.getFirstHeader("Location").getValue();
                    LOGGER.info("Redirect to " + redirectUrl);
                    response.sendRedirect(redirectUrl);
                }
            } catch (HttpStatusCodeException e) {
                if (e.getStatusCode() != HttpStatus.UNAUTHORIZED) {
                    LOGGER.warn("Fetching CDR envelope page failed with unexpected HTTP status code", e);
                }
            }
        }
    }

    if (isFailureCountsEqualsToAllowedFailuresCount()) {
        request.setAttribute(AUTHORIZATION_FAILED_ATTRIBUTE, AUTHORIZATION_FAILED_ATTRIBUTE);
        session.removeAttribute(AUTHORIZATION_TRY_COUNT);
        return PROCEED;
    }

    increaseFailedAuthorizationsCount();
    response.addHeader("WWW-Authenticate", "Basic realm=\"Please login to use webforms.\"");
    response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
    return STOP_REQUEST_PROPAGATION;
}

From source file:eionet.webq.web.interceptor.CdrAuthorizationInterceptorTest.java

private void restClientWillThrowException() {
    when(restOperations.postForEntity(anyString(), anyObject(), any(Class.class)))
            .thenThrow(new HttpClientErrorException(HttpStatus.UNAUTHORIZED));
}

From source file:eu.serco.dhus.server.http.webapp.wps.controller.WpsAdfSearchController.java

@PreAuthorize("hasRole('ROLE_SEARCH')")
@RequestMapping(value = "/auxiliaries", method = { RequestMethod.GET })
public ResponseEntity<?> getAuxiliaries(@RequestParam(value = "type", defaultValue = "") String type,
        @RequestParam(value = "filename", defaultValue = "") String filename) {

    try {/*from  w  ww .j  av a2s  .c  o m*/
        ProcessorService processor = ProcessorService.getInstance();
        Object result = processor.process(type, filename);
        if (result == null)
            return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
        else
            return new ResponseEntity<>(result, HttpStatus.OK);

    } catch (Exception e) {

        logger.error(" Failed to retrieve ADF list");
        e.printStackTrace();
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
    }

}

From source file:eu.serco.dhus.server.http.webapp.wps.controller.WpsAdfSearchController.java

@RequestMapping(value = "/auxiliaries/download", method = { RequestMethod.GET })
public ResponseEntity<?> downloadAuxiliaries(@RequestParam(value = "uuid", defaultValue = "") String uuid,
        @RequestParam(value = "filename", defaultValue = "file") String filename) {

    try {// w  ww  .ja v a2s .c o  m
        String hashedString = ConfigurationManager.getHashedConnectionString();
        //SD-1928 add download filename archive extension
        String downloadFilename = (filename.endsWith(DOWNLOAD_EXT)) ? (filename) : filename + DOWNLOAD_EXT;

        String urlString = ConfigurationManager.getExternalDHuSHost() + "odata/v1/Products('" + uuid
                + "')/$value";
        logger.info("urlString:::: " + urlString);
        URL url = new URL(urlString);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestProperty("Authorization", "Basic " + hashedString);
        InputStream is = conn.getInputStream();
        InputStreamResource isr = new InputStreamResource(is);
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.add("Authorization", "Basic " + hashedString);
        httpHeaders.add("Content-disposition", "attachment; filename=" + downloadFilename);
        httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);

        return new ResponseEntity<>(isr, httpHeaders, HttpStatus.OK);

    } catch (Exception e) {

        logger.error(" Failed to download Auxiliary File.");
        e.printStackTrace();
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
    }

}

From source file:fr.gael.dhus.server.http.webapp.owc.controller.OwcMenuController.java

@RequestMapping(value = "/settings/menu", method = RequestMethod.GET)
public ResponseEntity<?> getMenu() throws JSONException {
    URL configFile = ClassLoader.getSystemResource("../etc/conf/menu.json");
    if (configFile != null) {
        logger.debug("Loading configuration file " + configFile.getPath());

        try {//from   ww w .  j a  v a 2 s .  c o  m

            File file = new File(configFile.getPath());
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line = "";
            StringBuffer sb = new StringBuffer();
            while ((line = bufferedReader.readLine()) != null) {
                sb.append(line);
            }
            bufferedReader.close();
            JSONObject menu = new JSONObject(sb.toString());
            return new ResponseEntity<>(menu.toString(), HttpStatus.OK);
        } catch (IOException e) {

            logger.error(" Cannot load menu configration file content");
            e.printStackTrace();
            return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
        }
    } else {
        logger.error(" Cannot get menu configration file ");
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
    }

}

From source file:fr.gael.dhus.server.http.webapp.owc.controller.OwcMenuController.java

@PreAuthorize("isAuthenticated () AND hasRole('ROLE_DATA_MANAGER')")
@RequestMapping(value = "/settings/menu", method = RequestMethod.PUT)
public ResponseEntity<?> setMenu(@RequestBody MenuData body) throws JSONException {

    URL configFile = ClassLoader.getSystemResource("../etc/conf/menu.json");
    if (configFile != null && body != null) {
        logger.debug("Loading configuration file " + configFile.getPath());

        try {/*from   w w w  .ja va 2  s .  c  o  m*/

            PrintWriter fileWriter = new PrintWriter(new FileOutputStream(configFile.getPath(), false));
            fileWriter.println("{\"sections\":[");
            for (MenuSectionsData section : body.getSections()) {
                fileWriter.println("{");
                if (section.getTitle() != null && !section.getTitle().isEmpty())
                    fileWriter.println("\"title\":\"" + section.getTitle() + "\",");
                if (section.getIcon() != null && !section.getIcon().isEmpty())
                    fileWriter.println("\"icon\":\"" + section.getIcon() + "\",");
                if (section.getComponent() != null && !section.getComponent().isEmpty())
                    fileWriter.println("\"component\":\"" + section.getComponent() + "\",");
                if (section.getWidth() != null && !section.getWidth().isEmpty())
                    fileWriter.println("\"width\":\"" + section.getWidth() + "\",");
                if (section.getRemoteUrl() != null && !section.getRemoteUrl().isEmpty())
                    fileWriter.println("\"remoteUrl\":\"" + section.getRemoteUrl() + "\"");
                else
                    fileWriter.println("\"remoteUrl\":\"\"");
                fileWriter.println("},");

            }
            fileWriter.println("]}");
            fileWriter.close();

            return new ResponseEntity<>("{\"code\":\"success\"}", HttpStatus.OK);
        } catch (IOException e) {

            logger.error(" Cannot write menu configration file ");
            e.printStackTrace();
            return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
        }
    } else {
        logger.error(" Cannot get menu configration file ");
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.UNAUTHORIZED);
    }

}

From source file:hello.HelloWorldConfigurationTests.java

@Test
public void whenCallingHelloWorldWithoutToken_Unauthorized() throws Exception {
    ResponseEntity<Greeting> entity = new TestRestTemplate()
            .getForEntity("http://localhost:" + this.port + "/hello-world", Greeting.class);
    assertEquals(HttpStatus.UNAUTHORIZED, entity.getStatusCode());
}