Java108 spring security를 알아보자 - 3 이번엔 새로운 프로젝트를 만들어보자. 일단 저번에만들던걸 복사해서 그대로 만들어보자. 그리고 저번에 만든 컨트롤러는 지우고 새롭게 컨트롤러들을 만들어보자. ㅁ AccountController @RestController public class AccountController { @GetMapping("/myAccount") public String getAccountDetails() { return "Here are the account details from the DB"; } } ㅁ BalanceController @RestController public class BalanceController { @GetMapping("/myBalance") public String getBalanceDetail.. 2024. 3. 15. spring security를 알아보자 - 2 ㅇ Spring Seocurity의 내부구조 1. 가장 먼저 유저가 로그인정보(자격증명)를 입력해서 클라이언트가 백엔드 웹 애플리케이션에 전송함. 2. 20개이상의 필터가있는 SpringSecurity 필터를 통하는데, 여기서 인증객체(username과 자격증명만 보유)로 변환시키고 3. Authentication Manager한테 보낸다. 4. 실질적인 인증로직을 관리하는 Authentication Manager는 웹애플리케이션 안에 무슨 인증제공자가 존재하는지확인하고 전달함. 5. 유저의 자격증명을 검증하기위해 UserDetailsManager로 보내고, 6. 비밀번호를 검증하기위해 PsswordEncoder로 보낸다. **만약 여기서 검증이 실패하면 Authentication Manager가 유저에.. 2024. 3. 12. spring security를 알아보자 - 1 ㅇ 보안이 중요한 이유 웹 애플리케이션이 중요한 데이터를 갖고있기 때문에 데이터 보호 뿐 아니라 비지니스 로직또한 보호해야 한다. 구글 검색엔진만해도 많은 알고리즘을 갖고있고, 이것을 보안으로 보호하고있다. 비기능적 요구사항은 고객의 비지니스 로직과 상관이 없는 요구사항으로 보안,성적,코딩기준 모두 비기능적 요구사항. 우린 개발단계부터 보안을 생각해야함. 인증과 권한을 구현하는것은 개발자의 몫이다. 왜 보안이 중요한가? 없으면 데이터 침애, 보안 취약점, 웹앱 내의 공격으로 이어질 수 있다. CSRF, XSS rhdrur, 취약한 인증공격과 같이 보안공격들이 존재하는데 모두 고려해햐함. ㅇ 보안없이 간단한 spring boot 앱 구현 spring initializr에서 그동안은 프로젝트 유형을 grad.. 2024. 3. 4. 이진 변환 반복하기 처음엔 1) binary 메서드로, 주어진 s에 0을 빼고, 남은 1의 개수를 이진법으로 반환하고, 뺀 0의 개수를 반환하는 메서드인 binary()를 만들고 2) solution메서드에서 s가 1이될때가지 binary메서드를 반복하고 binary 메서드를 몇번 호출했는지와, 총 뺀 0의 개수를 return하면되겠거니 해서 이렇게 풀었다. ㅇ 오늘의 풀이(오답) class Solution { public int[] solution(String s) { int zeroCnt = 0; // 누적된 0의 개수를 저장할 변수 int biCnt = 0; //binary 메서드를 몇번반복했는가를 저장할 변수 while (!s.equals("1")) { // 문자열이 "1"이 될 때까지 반복 int[] result .. 2024. 2. 20. 이전 1 ··· 6 7 8 9 10 11 12 ··· 27 다음