본문 바로가기

IT Study/SpringBoot8

Spring DB Setting 이전에 진행하였던Spring Security를 기반으로DB와 연동 및 설정을 진행해 보려고 한다. DB를 설치해주어야 하는데 여러가지 설치 방법이 있다. 1️⃣ PC 또는 노트북2️⃣ 가상머신 or docker3️⃣ 애플리케이션 이중 애플리케이션을 이용한 방법을 사용하려 한다.애플리케이션으로 수행하게 되면,DB 설치 과정은 생략 된다고 생각하여 진행하였다. 그래서 H2 Database를 사용할 것이고,기본적인 방법만 설명할 예정이다. 첫 번째로 build.gradle에 의존성을 추가해 주어야 한다. IDEA로 Intellij를 사용하고 있어 쉽게 의존성을 수정할 수 있다. Edit Staters...를 누르게 되면프로젝트를 생성할때의 의존성을 추가하는 창이 표출된다. 이제 우리가 H2 Database를 .. 2025. 7. 24.
Spring Security 인증 구조 - 3 ProviderManager일반적으로 AuthenticationManager의 구현에 사용되고AuthenticationProvider 요소의 목록에 ProviderManager를 위임한다. 각 AuthenticationProvider는 인증의 성공, 실패, 불가를 표시하고AuthenticationProvider 흐름에 허용을 결정하는 기회를 가진다. 설정된 AuthenticationProvider 요소들 중 어느것도 인증을 할 수 없으면,ProviderNotFoundException과 함께 인증이 실패한다. ProviderNotFoundException은 ProviderManager가 전달된 인증의 유형을 지원하도록 구성하지 않았음을 나타낸다. 각 AuthenticationProvider는 인증의 특별.. 2025. 7. 12.
Spring Security 인증 구조 - 2 GrantedAuthority사용자에게 권한에 대한 역할과 범위를 부여 Authentication.getAuthorities() 매소드로 얻으며,GrantedAuthority 객체의 모음을 제공 인증은 당연하게 자기자신에게 부여되고, 권한은 ROLE_ADMINISTRATOR나 ROLE_HR_SUPERVISOR와 같은 역할이다. 역할들은 웹 · 메소드 권한, 도메인 객체 권한을 위해 추후 설정됨 !! Spring Security의 다른 해석은 권한과 존재를 예상.사용자 명/비밀번호를 기반 인증으로 사용할때, 일반적으로 UserDetailService로 로드한다. 보통 GrantedAuthority 객체들은 응용프로그램 전반에 인가되고,도메인 객체로 특정하지 않는다.따라서, 특정 객체 x의 권한에 표현으로 .. 2025. 6. 28.
Servlet 인증 구조 Spring Security가 Servlet 인증에서 사용하는주요 구조적인 구성 요소를 설명한다. 구체적인 흐름에 대한 설명에 대한 내용을 확인하자. 구분설명SecurityContextHolderSpring Security가 인증한 사용자의 세부 정보를 저장SecurityContext현재 인증된 사용자의 인증과 SecurityContextHolder로 얻을 수 있다.Authentication사용자의 인증을 위해 자격증명을 제공하는 Authenticaiton Manager 입력GrantedAuthority인증 객체의 권한 부여AuthenticationManagerSpring Security의 FIlter가 인증 수행하는 방법을 정의하는 APIProviderManager대부분 AuthenticationMan.. 2025. 6. 14.