본문 바로가기

Spring

Spring Security의 인증 과정과 주요 모듈 1. Spring Security 인증 과정 1) 로그인 요청 사용자가 폼에 아이디, 패스워드를 입력하면 HttpServletRequest에 아이디, 비밀번호가 전달된다. AuthenticationFilter가 넘어온 아이디, 비밀번호의 유효성 검사를 실시한다. 2) Authentication 생성 유효성 검사 후 실제 구현체인 UsernamePasswordAuthenticationToken을 만들어 넘겨준다. 3) Authentication 전달 인증용 객체인 UsernamePasswordAuthenticationToken을 AuthenticationManager에 전달한다. 4) UsernamePasswordAuthenticaionToken을 AuthenticationProvider에 전달 5) 유효.. 더보기
Spring Security의 개념과 Spring Security Filter Chain 1. Spring Security api실행 시 마다 사용자를 인증해야 하는데, 이를 구현한 것이 스프링 시큐리티이다. 스프링 기반의 어플리케이션의 보안(인증, 권한, 인가) 등을 담당하는 스프링의 하위 프레임워크이다. 즉, 인증과 인가를 담당하는 프레임워크! 주로 서블릿 필터와 이로 구성된 필터체인으로 구성된 위임 모델을 사용한다. 보안과 관련해 체계적으로 많은 옵션을 제공하기 때문에 보안 관련 로직을 작성하지 않아도 된다는 장점이 있다. 2. 기본 용어 인증(Authentication) 사용자의 신원을 입증하는 과정으로 로그인하는 과정이라고 생각하면 된다. 인가(Authorization) 권한 부여나 허가와 같은 의미로 사용되고 어떤 대상이 특정 목적을 실현하도록 허용하는 것이다. 권한에 따른 상이한.. 더보기
[스프링 프레임워크] 7. 요청 파라미터 취득하기 1. 요청 파라미터의 종류 1) 요청 파라미터란? 서버에 전송되는 값 종류 요청 쿼리 스트링으로 보내지는 값(GET), 요청 본문에 저장되어 보내지는 값(POST) : 뷰에서 입력값 및 선택한 값이나 숨김 파라미터 등에서 미리 뷰에 입력해둔 값 등 뷰에서 클릭한 버튼의 name 속성값 : 하나의 뷰에 버튼이 여러 개 있을 때 어느 버튼인지 판별할 수 있는 값 URL 경로의 일부로 보내지는 값 : 링크 등으로 URL의 일부로 보내지는 값 2) 요청 파라미터의 취득 방법 @RequestParam 사용 : 파라미터 하나씩 취득 Form 클래스 사용 스프링 MVC가 Form 클래스 내의 필드에 대해 값 저장 요청 파라미터를 모아서 하나의 객체로 받아들임 형변환이나 포맷 지정 가능 링크 등 URL의 일부로 포함된.. 더보기
앞으로의 백엔드 공부 계획🖊️ 되돌아보기 백엔드 공부를 한지 어느덧 약 2개월 정도가 되었다. 아직 나는 옹알이를 하는 수준이지만, 예전보다는 조금은 발전했다는 생각이 든다. 예를 들어, 프로그래머스로 알고리즘 테스트 연습을 할 때 예전에는 구글링에 많이 의존했다면 지금은 최대한 스스로 어떻게 문제를 해결할 수 있을 지 충분히 고민한 다음 문제를 풀고 있다. 현재 매주 알고리즘 테스트를 주에 5번 치르고 있는데, 문제가 조금이라도 어려워지면 '이 문제는 도대체 어떻게 접근해야 하지?'라는 생각과 함께 좌절감이 든다. 다른 사람들은 수월하게 잘 해결하고 있는 것 같은데 나만 이런 생각이 드나 싶기도 하다. 앞으로 진행될 프로젝트에서는 지금보다 더 큰 막막함을 느낄 것이라는 생각이 들지만, 이 좌절감과 막막함을 나의 발전 동기로 삼고자 .. 더보기
[백엔드 커리어 로드맵] 어떤 백엔드 개발자가 되고 싶은지 🖥️백엔드 개발자로드맵 백엔드 개발자를 준비하는 사람이라면 한 번쯤은 보았을 Kamranahmedse의 백엔드 공부 로드맵이다. 프로그래밍 언어, 데이터베이스, OS에 대한 전반적 지식, 웹 개발등에 대한 지식을 갖추어 나가야 한다. 🤔 나는 어떤 백엔드 개발자가 되고 싶을까? 나는 우선 얕은 목표로 "1인분은 하는 개발자"가 되고 싶다. 지금 내 상태로는 1인분은 커녕 0.00000001인분은 하지 않을까....라는 생각이 든다. 개발자는 아무래도 협업을 통해 업무를 진행하는데, 사회로 나가 개발자로 취직을 하게 되었을 때 동료들에게 민폐는 끼치고 싶지 않다. 또, 끊임없이 노력하고 발전하는 개발자가 되고 싶다. 개발자에게 중요한 점은 계속해서 공부하고, 노력하는 것이라고 생각한다. 스스로의 성취 뿐만.. 더보기
프론트엔드 VS 백엔드 / 백엔드 개발자가 되고 싶은 이유 🖊️프론트엔드가 뭔데? 〰️프론트엔드는 쉽게 말해서 사용자가 눈으로 보고 있는 부분을 구현하는 영역이다. 웹을 개발하는 영역 중에서 눈으로 보이는 부분을 구축하고, 기능을 구현한다. 즉 UI를 구성하는 것이다. 〰️내가 작업한 내용을 바로 확인할 수 있고 즉각적인 피드백이 가능하다는 점에서 매력적인 영역이고, 기술 변화속도가 매우 빠르게 이루어지기 때문에 변화하는 기술에 발맞춰 열심히 공부를 해야하기도 한다. 〰️또, 언어적으로는 HTML, CSS, 자바 스크립트를 무조건 학습해야 한다. 🖊️백엔드가 뭔데? 〰️백엔드는 모든 프로그램의 가장 뒷부분, DB나 라우터 같은 부분을 책임진다. 웹 개발 영역 중 사용자가 필요로 하는 정보를 저장, 관리, 전달하는 역할을 담당한다. 〰️프론트엔드만큼 기술이 빠르게.. 더보기

728x90