Example usage for org.springframework.http HttpStatus FORBIDDEN

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

Introduction

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

Prototype

HttpStatus FORBIDDEN

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

Click Source Link

Document

403 Forbidden .

Usage

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 {//  w ww  .  ja  v a2  s  . c  om
        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.simpaticoproject.ife.controller.ProxyController.java

@ExceptionHandler(UnauthorizedException.class)
@ResponseStatus(value = HttpStatus.FORBIDDEN)
@ResponseBody/*w  w w. j  a v  a 2 s .c o  m*/
public Map<String, String> handleUnauthorizedError(HttpServletRequest request, Exception exception) {
    logger.error(exception.getMessage());
    return Utils.handleError(exception);
}

From source file:fi.csc.kapaVirtaAS.VirtaXRoadEndpoint.java

@RequestMapping(value = "/ws", method = RequestMethod.POST)
public ResponseEntity<String> getVirtaResponse(@RequestBody String XRoadRequestMessage) throws Exception {
    FaultMessageService faultMessageService = new FaultMessageService();
    MessageTransformer messageTransformer = new MessageTransformer(conf, faultMessageService);
    VirtaClient virtaClient = new VirtaClient(conf);
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setContentType(new MediaType("text", "xml", Charsets.UTF_8));
    HttpResponse virtaResponse;/*from w  w w . ja v a  2 s . co m*/

    try {
        String virtaRequestMessage = messageTransformer.transform(XRoadRequestMessage,
                MessageTransformer.MessageDirection.XRoadToVirta);
        //Send transformed SOAP-request to Virta
        virtaResponse = virtaClient.getVirtaWS(virtaRequestMessage,
                messageTransformer.createAuthenticationString(XRoadRequestMessage));
    } catch (Exception e) {
        log.error(e.toString());
        HttpStatus errorStatus = HttpStatus.INTERNAL_SERVER_ERROR;
        String errorMessage = ERROR_MESSAGE;
        if (e instanceof DOMException) {
            errorStatus = HttpStatus.BAD_REQUEST;
            errorMessage = "Request SOAP-headers did not contain client identifiers (http://x-road.eu/xsd/identifiers)";
        }
        return new ResponseEntity<>(faultMessageService.generateSOAPFault(errorMessage,
                faultMessageService.getReqValidFail(), messageTransformer.getXroadHeaderElement()), httpHeaders,
                errorStatus);
    }

    try {
        if (virtaResponse.getStatusLine().getStatusCode() != 200) {
            log.error(virtaResponse.getStatusLine().getReasonPhrase());
            throw new HttpResponseException(virtaResponse.getStatusLine().getStatusCode(),
                    virtaResponse.getStatusLine().getReasonPhrase());
        }
        BufferedReader rd = new BufferedReader(new InputStreamReader(virtaResponse.getEntity().getContent()));

        StringBuffer result = new StringBuffer();
        String line;
        while ((line = rd.readLine()) != null) {
            result.append(line);
        }
        String virtaResponseMessage = result.toString();

        return new ResponseEntity<>(messageTransformer.transform(virtaResponseMessage,
                MessageTransformer.MessageDirection.VirtaToXRoad), httpHeaders, HttpStatus.OK);
    } catch (Exception e) {
        log.error(e.toString());
        HttpStatus status = HttpStatus.valueOf(virtaResponse.getStatusLine().getStatusCode());
        if (status.value() == 200) {
            status = HttpStatus.INTERNAL_SERVER_ERROR;
        } else if (IOUtils.toString(virtaResponse.getEntity().getContent()).toLowerCase()
                .contains("access denied")) {
            status = HttpStatus.FORBIDDEN;
        }
        return new ResponseEntity<>(
                faultMessageService.generateSOAPFault(ERROR_MESSAGE + status.name(),
                        faultMessageService.getResValidFail(), messageTransformer.getXroadHeaderElement()),
                httpHeaders, status);
    }
}

From source file:fi.vm.sade.eperusteet.ylops.resource.dokumentti.DokumenttiController.java

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<DokumenttiDto> create(@RequestParam final long opsId,
        @RequestParam(defaultValue = "fi") final String kieli) throws DokumenttiException {
    HttpStatus status;/*  ww  w.ja v  a 2 s  .  com*/

    DokumenttiDto dtoForDokumentti = service.getDto(opsId, Kieli.of(kieli));

    // Jos dokumentti ei lydy valmiiksi niin koitetaan tehd uusi
    if (dtoForDokumentti == null)
        dtoForDokumentti = service.createDtoFor(opsId, Kieli.of(kieli));

    // Jos tila eponnistunut, opsia ei lytynyt
    if (dtoForDokumentti == null)
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);

    // Aloitetaan luonti jos luonti ei ole jo pll tai maksimi luontiaika ylitetty
    if (isTimePass(dtoForDokumentti) || dtoForDokumentti.getTila() != DokumenttiTila.LUODAAN) {
        // Vaihdetaan dokumentin tila luonniksi
        service.setStarted(dtoForDokumentti);

        // Generoidaan dokumentin data sislt
        // Asynkroninen metodi
        service.generateWithDto(dtoForDokumentti);

        status = HttpStatus.ACCEPTED;
    } else {
        status = HttpStatus.FORBIDDEN;
    }

    // Uusi objekti dokumentissa, jossa pivitetyt tiedot
    final DokumenttiDto dtoDokumentti = service.getDto(dtoForDokumentti.getId());
    audit.withAudit(LogMessage.builder(opsId, OPETUSSUUNNITELMA, GENEROI));

    return new ResponseEntity<>(dtoDokumentti, status);
}

From source file:fi.vm.sade.eperusteet.ylops.resource.dokumentti.DokumenttiController.java

@RequestMapping(value = "/{dokumenttiId}", method = RequestMethod.GET, produces = "application/pdf")
public ResponseEntity<Object> get(@PathVariable final Long dokumenttiId) {
    byte[] pdfdata = service.get(dokumenttiId);

    if (pdfdata == null || pdfdata.length == 0) {
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }/* ww w  . j a  va2  s.c  o  m*/

    if (!service.hasPermission(dokumenttiId)) {
        return new ResponseEntity<>(HttpStatus.FORBIDDEN);
    }

    HttpHeaders headers = new HttpHeaders();
    headers.set("Content-disposition", "inline; filename=\"" + dokumenttiId + ".pdf\"");
    Optional.ofNullable(dokumenttiRepository.findOne(dokumenttiId)).filter(Objects::nonNull)
            .map(dokumentti -> opetussuunnitelmaRepository.findOne(dokumentti.getOpsId()))
            .filter(Objects::nonNull).map(Opetussuunnitelma::getNimi).filter(Objects::nonNull)
            .ifPresent(nimi -> headers.set("Content-disposition", "inline; filename=\"" + nimi + ".pdf\""));

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

From source file:fr.gael.dhus.api.stub.admin.AdminUserController.java

/**
 * List of users/*  ww  w . j  a  v a  2s . co m*/
 *
 * @return      ResponseEntity with list of users
 */
@RequestMapping(value = "/stub/admin/users")
public ResponseEntity<?> usersList(@RequestParam(value = "filter", defaultValue = "") String filter,
        @RequestParam(value = "offset", defaultValue = "0") int start,
        @RequestParam(value = "limit", defaultValue = "") int count) throws UserServiceException {
    fr.gael.dhus.service.UserService userService = ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);
    try {
        Iterator<User> it = userService.getUsersByFilter(filter, start);
        List<UserData> userDatas = convertUserToUserData(it, count);
        return new ResponseEntity<>(userDatas, HttpStatus.OK);
    } catch (AccessDeniedException e) {
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
    } catch (Exception e) {
        e.printStackTrace();
        throw new UserServiceException(e.getMessage());
    }
}

From source file:fr.gael.dhus.api.stub.admin.AdminUserController.java

/**
 * Count of users list items//from  w  w w  . jav a2 s .  co  m
 *
 * @return      ResponseEntity with the count of users list items
 */
@RequestMapping(value = "/stub/admin/users/count")
public ResponseEntity<?> usersListCount(@RequestParam(value = "filter", defaultValue = "") String filter)
        throws UserServiceException {
    fr.gael.dhus.service.UserService userService = ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);
    try {
        return new ResponseEntity<>("{\"count\":" + userService.countByFilter(filter) + "}", HttpStatus.OK);
    } catch (AccessDeniedException e) {
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
    } catch (Exception e) {
        e.printStackTrace();
        throw new UserServiceException(e.getMessage());
    }
}

From source file:fr.gael.dhus.api.stub.admin.AdminUserController.java

/**
 * CREATE new user//  w ww. ja  v  a 2 s. co  m
 *
 * @param  userData body of POST request with the fields to create a new user
 * @return      ResponseEntity with esit
 */
@RequestMapping(value = "/stub/admin/users", method = RequestMethod.POST)
public ResponseEntity<?> createUser(@RequestBody UserData userData)
        throws UserServiceException, UserServiceMailingException {
    int responseCode = 0;
    fr.gael.dhus.service.UserService userService = ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);

    System.out.println("userData: " + userData);

    User user = new User();
    user.setUsername(userData.getUsername());
    user.generatePassword();
    user.setFirstname(userData.getFirstname());
    user.setLastname(userData.getLastname());
    user.setAddress(userData.getAddress());
    user.setEmail(userData.getEmail());
    user.setPhone(userData.getPhone());

    List<Role> roles = new ArrayList<Role>();

    System.out.println("Roles: " + roles);

    for (RoleData role : userData.getRoles()) {
        roles.add(Role.valueOf(role.name()));
    }
    user.setRoles(roles);
    user.setCountry(userService.getCountry(Long.parseLong(userData.getCountry())).getName());
    user.setUsage(userData.getUsage());
    user.setSubUsage(userData.getSubUsage());
    user.setDomain(userData.getDomain());
    user.setSubDomain(userData.getSubDomain());
    if (userData.getLockedReason() != null) {
        LockedAccessRestriction lock = new LockedAccessRestriction();
        if (!userData.getLockedReason().trim().isEmpty()) {
            lock.setBlockingReason(userData.getLockedReason());
        }
        user.addRestriction(lock);
    }

    try {
        userService.createUser(user);
    } catch (EmailNotSentException e) {
        e.printStackTrace();
        return new ResponseEntity<>("{\"code\":\"email_not_sent\"}", HttpStatus.INTERNAL_SERVER_ERROR);
    } catch (AccessDeniedException e) {
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
    } catch (Exception e) {
        e.printStackTrace();
        throw new UserServiceException(e.getMessage());
    }

    return new ResponseEntity<>("{\"code\":\"" + responseCode + "\"}", HttpStatus.OK);

}

From source file:fr.gael.dhus.api.stub.admin.AdminUserController.java

/**
 * READ user details// w  w w. j  a  v  a2s.  c om
 *
 * @param  id  id of user
 * @return  ResponseEntity with User instance
 */
@RequestMapping(value = "/stub/admin/users/{userid}", method = RequestMethod.GET)
public ResponseEntity<?> readUser(@PathVariable(value = "userid") Long id) throws UserServiceException {
    fr.gael.dhus.service.UserService userService = ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);

    try {
        User user = userService.getUser(id);
        LockedAccessRestriction lock = null;
        for (AccessRestriction restriction : userService.getRestrictions(user.getId())) {
            if (restriction instanceof LockedAccessRestriction) {
                lock = (LockedAccessRestriction) restriction;
            }
        }

        List<RoleData> roles = new ArrayList<RoleData>();
        for (Role role : user.getRoles()) {
            roles.add(RoleData.valueOf(role.name()));
        }

        UserData userData = new UserData(user.getId(), user.getUsername(), user.getFirstname(),
                user.getLastname(), user.getEmail(), roles, user.getPhone(), user.getAddress(),
                lock == null ? null : lock.getBlockingReason(), user.getCountry(), user.getUsage(),
                user.getSubUsage(), user.getDomain(), user.getSubDomain());

        return new ResponseEntity<>(userData, HttpStatus.OK);
    } catch (AccessDeniedException e) {
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
    } catch (Exception e) {
        e.printStackTrace();
        throw new UserServiceException(e.getMessage());
    }
}

From source file:fr.gael.dhus.api.stub.admin.AdminUserController.java

/**
 * UPDATE user/*from   ww w. j  a  v  a 2s .  c o  m*/
 *
 * @param  userid  id of user
 * @param  userData body of PUT request with the fields to update of user
 * @return     ResponseEntity with esit
 */
@RequestMapping(value = "/stub/admin/users/{userid}", method = RequestMethod.PUT)
public ResponseEntity<?> updateUser(@RequestBody UserData userData, @PathVariable(value = "userid") Long userid)
        throws UserServiceException, UserServiceMailingException {

    fr.gael.dhus.service.UserService userService = ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);

    User user = new User();
    user.setId(userid);
    user.setUsername(userData.getUsername());
    user.setFirstname(userData.getFirstname());
    user.setLastname(userData.getLastname());
    user.setAddress(userData.getAddress());
    user.setEmail(userData.getEmail());
    user.setPhone(userData.getPhone());

    List<Role> roles = new ArrayList<Role>();
    for (RoleData role : userData.getRoles()) {
        roles.add(Role.valueOf(role.name()));
    }
    user.setRoles(roles);
    user.setCountry(userService.getCountry(Long.parseLong(userData.getCountry())).getName());
    user.setUsage(userData.getUsage());
    user.setSubUsage(userData.getSubUsage());
    user.setDomain(userData.getDomain());
    user.setSubDomain(userData.getSubDomain());
    if (userData.getLockedReason() != null) {
        LockedAccessRestriction lock = new LockedAccessRestriction();
        if (!userData.getLockedReason().trim().isEmpty()) {
            lock.setBlockingReason(userData.getLockedReason());
        }
        user.addRestriction(lock);
    }
    try {
        userService.updateUser(user);
    } catch (EmailNotSentException e) {
        e.printStackTrace();
        return new ResponseEntity<>("{\"code\":\"email_not_sent\"}", HttpStatus.INTERNAL_SERVER_ERROR);
    } catch (AccessDeniedException e) {
        return new ResponseEntity<>("{\"code\":\"unauthorized\"}", HttpStatus.FORBIDDEN);
    } catch (Exception e) {
        e.printStackTrace();
        throw new UserServiceException(e.getMessage());
    }
    return new ResponseEntity<>("{\"code\":\"OK\"}", HttpStatus.OK);
}