RestPrivateController.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:coj-web 作者:
@ApiOperation(value = "Autentificar un Usuario",  
        notes = "Autentica un usuario, de ser correcto devuelve un token con el que se podrá acceder a los demás métodos privados.",
        response = TokenRest.class)
@ApiResponses(value = { @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 = "incorrect request")  })
@RequestMapping(value = "/login", method = RequestMethod.POST, headers = "Accept=application/json", consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> CreateToken(
        @ApiParam(value = "JSON con el envío") @RequestBody InputUserRest bodyjson){
    try {

        int error = ValidateApi(bodyjson.getApikey());
        if (error > 0) {
            return new ResponseEntity<>(TokenUtils.ErrorMessage(error), HttpStatus.UNAUTHORIZED);
        }

        String username = bodyjson.getUsername();
        String password = bodyjson.getPassword();

        String sql = "SELECT * FROM public.users WHERE username = ?";

        try{
            User user =  (User) jdbcTemplate.queryForObject(sql,new Object[]{username},new BeanPropertyRowMapper(User.class));
            PasswordEncoder encoder = new Md5PasswordEncoder();
            password = encoder.encodePassword(password,"ABC123XYZ789");

            if(user.getPassword().equals(password)){
                TokenRest token = new TokenRest(TokenUtils.CreateTokenUser(username), TokenUtils.expirityToken);
                return  new ResponseEntity<>(token, HttpStatus.OK);
        }
        else
            return  new ResponseEntity<>(ErrorUtils.BAD_USERNAME_PASSWORD, HttpStatus.UNAUTHORIZED);


        }catch(Exception e){
            return  new ResponseEntity<>(ErrorUtils.BAD_USERNAME_PASSWORD, HttpStatus.UNAUTHORIZED);
        }


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

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号