Java

· Java/Spring
인증 논리를 담당하는 부분은 AuthenticationProvider 이다. AuthenticationManager는 HTTP 요청을 수신하고 AuthenticationProvider에게 인증 책임을 위임한다. 이 단원에서는 인증 결과가 두 가지인 인증 프로세스를 살펴본다.요청하는 엔티티가 인증되지 않는다애플리케이션이 사용자를 인식하지 못해 권한 부여 프로세스에 위임하지 않고 요청을 거부한다. 일반적으로 이 경우 클라이언트에 HTTP 401 Unauthorized 응답이 반환된다.요청하는 엔티티가 인증된다요청자의 UserDetails 가 SecurityContext에 저장되어 애플리케이션이 이를 권한 부여에 이용할 수 있다.AuthenticationProvider의 이해어떠한 시나리오가 주어지더라도 구현..
· Java/Spring
PasswordEncoder 인터페이스 이해일반적으로 시스템은 암호를 그대로 저장하지 않고 해시를 사용해 저장한다. PasswordEncoder는 암호를 인코딩하고 인증 프로세스에서 암호가 유효한지 확인한다.upgradeEncoding 메서드는 false를 반환하도록 기본 구현이 되어 있는데 이를 true 를 반환하도록 재정의하면 인코딩된 암호를 보안 향상을 위해 다시 인코딩한다. 상황에 따라 재정의해서 사용할 수 있다.encode 와 matches 메서드는 기능적으로 밀접한 관계가 있어 이 둘을 재정의하려면 기능 면에서 항상 일치해야 한다. PasswordEncoder 로 인코딩된 암호가 주어진 암호와 같은지 PasswordEncoder로 확인할 수 있어야 한다.제공된 구현 선택스프링 시큐리티에서 이미..
· Java/Spring
먼저 요청이 들어오면 필터가 요청을 가로채고 인증 책임이 AuthenticationManager로 위임된다. 인증 논리 구현하는 AuthenticationProvider를 이용하는데 이 때 UserDetailsService에서 사용자를 찾고 PasswordEncoder 로 암호를 검증한다. 모든 인증이 끝나면 SecurityContext에 UserDetails가 저장된다.사용자 관리는 UserDetailsManager와 UserDetailsService를 사용한다. UserDetailsService 는 사용자 이름으로 사용자를 찾는 역할만 하고 UserDetailsManager 는 사용자의 삭제, 추가, 수정 작업을 수행한다.사용자는 애플리케이션 내에서 수행할 수 있는 작업을 나타내는 이용 권리의 집합을..
· Java
int[] arr = {5,1,3,4,2};// 오름차순 정렬Arrays.sort(arr);위와 같이 정수형 배열을 오름차순으로 정렬하려면 Arrays.sort메소드를 사용하면 된다. 특정 구간을 정렬하려고 하면 Arrays.sort(arr, 시작, 끝)을 통해 구간을 오름차순으로 정렬할 수 있다. 내림차순으로 정렬하고 싶다면 어떻게 해야할까?매개변수가 없는 sort 자체는 오름차순 정렬밖에 지원하지 않는다. 그럼 매개변수에 비교기준을 반대로 넣으면 되지 않을까?Arrays.sort((num1,num2)-> num2 - num1);와 같이 말이다. 하지만, 이는 불가능한데 sort메서드가 Comparator 함수형 인터페이스를 매개변수로 사용하고 있기 때문이다. Comparator 인터페이스는 객체간의 ..
greatwhite
'Java' 카테고리의 글 목록