Spring Security Spring Security는 Spring 기반 애플리케이션에서 `보안` 기능을 쉽게 통합할 수 있도록 도와줍니다. 주로 `인증`과 `인가`를 처리하며 사용자의 신원 확인과 권한 부여를 담당합니다. Spring Security의 기능들을 나열하자면 다음과 같습니다. 인증(Authentication) 사용자의 신원을 확인(증명)하고 인증하는 기능을 제공합니다. 사용자가 제공한 자격 증명(아이디/비밀번호 등)을 검증하고, 인증된 사용자에게 접근 권한을 부여합니다. 다양한 인증 방식을 지원하며, 사용자 정의 인증 프로세스를 구현할 수 있습니다. 인가(Authorization) 인증된 사용자에 대한 권한 부여 및 접근 제어를 처리합니다. 사용자의 역할, 권한, 리소스에 대한 접근 권..
코딩을 하던 중 PK 값이자 자동 증가하는 id 값을 가져와야 할 일이 생겼다. MySQL 자체 문법으로도 가능한 방법이 있지만 MyBatis에서도 기능이 있다 해서 포스팅해보겠다. Oracle 같은 경우 아래와 같은 방법으로 안되기 때문에 다른 방법(selectKey 태그 사용)으로 구현해야 하기 때문에 따로 찾아보길 바란다. INSERT INTO board( title, content, writer, views ) values( #{title}, #{content}, #{writer}, 0 ) useGeneratedKeys insert나 update됨가 동시에 자동생성된 키를 가져올 수 있는 속성으로 true로 설정 (default: false) keyProperty 리턴 될 key property ..
테이블 추가 ▶attach 테이블 create table attach( uuid varchar(100) primary key, uploadPath varchar(200) not null, fileName varchar(100) not null, fileType char(3) default 'I', board_id bigint ); ALTER TABLE attach ADD FOREIGN KEY(board_id) REFERENCES board(id); uuid: UUID가 포함된 파일 이름 uploadPath: 실제 파일이 업로드된 경로 fileName: 파일 이름 fileType: 파일 종류, 이미지 파일 여부 확인 board_id: 해당 게시물 번호 저장(board 테이블, 외래키 역할) DTO ▶Boa..
첨부파일 다운로드 UploadController.java @GetMapping(value = "/download", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @ResponseBody public ResponseEntity downloadFile(String fileName) { Resource resource = new FileSystemResource("D:\\upload\\" + fileName); String resourceName = resource.getFilename(); HttpHeaders headers = new HttpHeaders(); try { headers.add("Content-Disposition", "attachment; ..