일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- CS
- Til
- 티스토리챌린지
- SQL
- 카카오코테
- join
- select
- 정보처리기사
- doitandroid
- 자바
- 오블완
- MySQL
- 프로그래머스
- 자료구조
- 인프런
- 정처기
- 기술면접
- 코테
- 혼공챌린지
- 알고리즘
- 혼공단
- 스터디
- groupby
- 혼공파
- 안드로이드스튜디오
- java
- Kotlin
- 코틀린
- Android
- 안드로이드
- Today
- Total
목록2025/03 (13)
Welcome! Everything is fine.

Spring Security란?스프링 시큐리티(Spring Security) : 스프링 기반 애플리케이션에 강력한 인증/인가 기능을 제공하는 보안 프레임워크.Spring Security와 JWT를 함께 사용하면 Stateless하게 사용하기 때문에 간단하게 적용할 수 있다.Security 보안을 통과하려면 SecurityContext에 AbstractAuthenticationToken을 set해줘야 한다!SecurityContext : 한 요청 내에서 현재 인증된 사용자와 그 사용자가 가지는 권한을 알려주는 객체.보통 하나의 Authentication 객체를 포함하며, 그 객체는 다음과 같은 것들을 가지고 있다.사용자(Principal)인증 방식인증 상태사용자 권한 목록(GrantedAuthorities..

어제 Spring Security 도입을 마무리 하고, 다음 단계를 진행하다가 일정을 생성하는 부분에서 다음과 같이 NPE가 발생했다. Postman에서는 403 Forbidden 에러가 난 상황이다. 회원가입과 로그인은 정상적으로 됐고, DB에도 모든 정보가 다 빠짐없이 들어있다. 왜 userRole이 null인가...🤔 DB에도 다 들어있는데 왜 null이지...? 이 상황을 믿을 수가 없어 생성자에서 userRole이 null일 때 에러를 던지도록 해 다시 한 번 확인해봤다. null이 맞다. 그렇다면 왜일까? 검색의 늪에 빠져있다가 여러 상황을 가정하고 확인해보았다.JwtUtil과 JwtAuthenticationFilter에서userRole을 다른 단어로 입력한 경우 → 둘 다 userRole로..

깃허브에 시크릿키를 올리는 것은 위험하다. 따라서 우린 시크릿키를 내 로컬 파일에만 따로 적어놓고 깃허브에는 올라가지 않도록 해야한다. 먼저 resource 패키지 아래에 .env 파일을 만들고 올라가면 안되는 정보를 넣어준다. 그리고 인텔리제이 오른쪽 상단에 있는 점 세개를 누른 후 Edit...에 들어간다. 현재 내가 이미 환경 변수를 설정해놓은 상태지만, Environment variables가 없다면 Build and Run 옆에 있는 Modify options를 누른다. 그럼 이렇게 옵션들을 추가할 수 있는데, Environment variables를 추가해준다. 이제 이 환경 변수 경로를 설정해야한다. 경로는 .env 파일이 있는 경로로 설정하면 된다. 그리고 .env 파일 역시 깃허브에 올라..
이번 프로젝트를 끝내고, 지난 프로젝트에서 아쉬웠던 점을 정리해봤다.🖋️그런 점을 이번 프로젝트에서 꽤 많이 개선한 것 같고, 이번 프로젝트에서의 아쉬운 점 역시 다음 프로젝트에서 개선할 수 있다면 좋을 것 같다!팀원들과 사소한 것 하나까지 공유하자지난 프로젝트에서는 git에 익숙하지 않은 팀원분들이 많았다. 그래서인지 사실 내가 맡은 기능을 개발하는 시간보다 git 관련 문제를 해결하는데 더 많은 시간을 쓴 것 같다. 우리팀에서 일어난 문제는 다음과 같았다.merge가 되면 develop에서 pull을 받은 후, 자신의 브랜치에서 작업을 해야한다. 그러나 중간에 확인해보니 팀원 모두가 pull을 받지 않고 작업을 하고 있다는 사실을 알았다. 자신의 브랜치에서는 자신이 맡은 기능만을 개발해야한다고 알고..

이번 심화 프로젝트를 진행하다가 튜터님께 피드백 받은 내용이 있다.사실 이 부분은 정신 놓고 코드 짠거 같아서 부끄럽지만..같은 실수를 하지 않기 위해 정리해본다. 🛠️ 변경 전 코드우선 OwnerOrderController는 가게 사장님이 들어온 주문을 수락 및 거절하는 API를 가지고 있다. 수락이 되었다면 음식조리중, 배달중, 배달완료 순으로 흐를 수 있도록 해야한다. 다음 코드를 보면, 각각의 상태에 따라 API가 다 따로 만들어져있다. 처음에는 상태가 되돌아 갈 수 없도록 하는 것에만 집중해서 예외 처리만 하고 끝냈다.@RestController@RequiredArgsConstructor@RequestMapping("/api")public class OwnerOrderController { ..