본문 바로가기

Java107

spring security를 알아보자 - 11 ㅇ Spring Security에서 필터란? 간단히 보면 클라이언트에서 오는 요청을 필터에서 한번 걸러서 서블릿으로 전달을 한다. 이때 필터는 어떤걸 걸러주는 걸까? 여러가지 필터가있지만 뭐 예를들어 보자면, SecurityContextPersistenceFilter: 보안 컨텍스트를 로드하거나 저장함. CsrfFilter: CSRF 공격을 방지함. LogoutFilter: 로그아웃 처리를 함. UsernamePasswordAuthenticationFilter: 폼 로그인 처리를 함. 각 필터는 요청을 처리하고, 다음 필터로 요청을 전달하거나, 필터 체인을 종료하고 응답을 반환할 수 있다. 필터는 요청 또는 응답을 수정할 수 있으며, 인증 실패와 같은 경우에 요청 처리를 중단하고 오류 응답을 반환할 수도.. 2024. 4. 18.
spring security를 알아보자 - 10 ㅇ 인증과 인가의 차이 인증(Authentication)은 사용자의 신원을 확인하는 과정. 사용자가 누구인지를 식별하고 검증하는 것. 대표적인 예시로 로그인이 있다. 인가(Authorization)은 인증된 사용자가 수행할 수 있는 행동을 결정하는 과정. 인증이 실패하면 401, 인가가 실패하면 403. 인증이 됐지만 이 유저는 접근할 수 없다는 뜻. 애플리케이션 내에는 다양한 역할이 존재하고 역할마다 접근할 수 있는 서비스는 다를 것이다. 그래서 우리는 인가 설정을 잘 해야한다. ㅇ 어디에 인가정보가 저장될까? Spring Security에서는 이 권한 또는 특권을 권한(Authorities), 역할(role)로 구분해서 부른다. 저장되는 방식은 비슷한다. 먼저 권한을 보자. GrantedAuthori.. 2024. 4. 15.
땅따먹기 ㅇ 문제설명 ㅇ 첫번째 시도 public static int solution(int[][] land) { //맨첫번째 행에서 4가지 경우의수를 구한다. int total = 0; int maxIndex = 0; for(int i = 0; i < land.length; i++){ if(i == 0){ total += maxArrNoEx(land[i]); maxIndex = findIndex(land[i],total); }else{ total += maxArr(land[i],maxIndex); } } return total; } public static int maxArr(int[] arr, int except){ int maximum = 0; for(int a = 0; a < arr.length; a++).. 2024. 4. 12.
롤케이크 자르기 ㅇ 문제설명 ㅇ 처음 푼 방법 public static int solution(int[] topping) { HashSet totalTypes = new HashSet(); for (int type : topping) { totalTypes.add(type); } int totalCount = totalTypes.size(); int waysToSplit = 0; HashSet leftTypes = new HashSet(); HashSet rightTypes = new HashSet(); for(int type : topping){ rightTypes.add(type); } for(int i = 0; i < topping.length-1; i++){ leftTypes.add(topping[i]); rig.. 2024. 4. 11.