SERVER│SERVLET

SERVER│SERVLET

[뉴렉처 6기] Server│인증과 권한7│SecutiryContextHolder│Thymeleaf│Spring Security Dialect│url 엔드포인트 #(id)│url 배열

💙 들어가며 타임리프를 활용하여 인증정보를 뷰에 표시해보자. ✏️ 학습내용 정리 #Object 자료형 principal 객체 커스텀한 UserDetails 정보를 준비해보자. 전역변수인 SecurityContextHolder를 통해서 Principal을 Object형으로 꺼낼 수 있다. 자료형을 Principal로 하게되면 username만을 뽑을 수 있다. 커스텀한 모든 정보를 뽑기 위해서는 Object형으로 자료형을 변환해주어야 한다. #thymeleaf: Spring Security Dialect 이제 타임리프를 활용하여 인증정보를 뷰에 표시해보자. 타임리프의 sec를 이용하면 authorize, authentication 2개 기능을 사용할 수 있다. 💡 인증과 인가 1. authorize(인가)..

SERVER│SERVLET

[뉴렉처 6기] Server│인증과 권한6│SecurityContextHolder│JDBC 로그인│커스텀 UserDetails

💙 들어가며 JDBC를 활용한 UserDetails를 먼저 구현해보고, 이를 확장한 커스텀한 UserDetails을 만들어보자. ✏️ 학습내용 정리 #사용자의 정보를 controller에서 꺼내오기: SecurityContextHolder 전역객체이기 때문에 어느 페이지에서나 Principal, Credentials, Authorities를 꺼내쓸 수 있다. principal로 getName() 해보자 더보기 ⭕ 출력결과 해당 페이지가 요청될 때마다 로그인한 이름이 출력되는 것을 확인할 수 있다. #ROLE이 여러개인 경우: 다대다 테이블 💡 jdbc UserDetailsService 구현 시 주의: 사용자 입력을 받는 부분은 반드시 물음표(? )로 처리한다. member 테이블, role 테이블이 따로..

SERVER│SERVLET

[뉴렉처 6기] Server│인증과 권한4│필터와 필터체인│스프링 시큐리티(Spring Security)│UserDetails│CSRF

💙 들어가며 인증정보만 가지고 정보를 줄 수 있으나 추가적인 역할을 주어서 페이지 접속권한에 차등을 주어보자. ✏️ 학습내용 정리 #필터(Filter) 인증했어? 라는 부분은 컨트롤러로 오기 전에 사전에 체크되어야 하는 부분이고, 인증을 했으면 권한에 대한 처리도 필요한데, 권한을 확인하는 부분이 없다. 이렇듯 목적지가 서블릿이라면 사용자 요청이나 이런것들은 서블릿으로 가기 전에 가공이 필요하다. 이렇게 사전에 해야할 것들(실제 업무로직이 진행되기 전에), 하나의 코드 영역으로 필요한 부분을 따로 모아서 집중화 할 수 있는 방법이 있다. 바로 '필터'! 컨트롤러가 아니라 필터에 이런 사전에 필요한 코드들을 집중화해보자. #서블릿 필터 만들기 filter라는 패키지를 만들고 클래스를 만들자. filter기..

SERVER│SERVLET

[뉴렉처 6기] Server│인증과 권한3│기존에 로그인 하는 로직│인증정보 불일치 error처리│returnURL │HttpSession

💙 들어가며 인증과 권한을 제대로 활용하기 이전에 로그인 폼을 처리하는 방식에 대해서 간단하게 알아보자. ✏️ 학습내용 정리 #기존에 로그인 하는 로직 폼태그에 값을 입력하고 로그인(제출)을 해보자. 폼태그에 method="post"가 잘 들어가 있는지 꼭 확인하자!! 폼 태그의 name이 곧 controller의 매개변수명이다. 인증정보 아이디 비밀번호 로그인 또는 구글 로그인 회원가입 비밀번호 찾기 컨트롤러에서 값을 받아서 isValid()라는 서비스 함수로 값을 처리하게 한다. @PostMapping("login") public String login( @RequestParam("user-name") String userName, String password, HttpSession session) ..

SERVER│SERVLET

[뉴렉처 6기] Server│인증과 권한2│쿠키│getCookies()│쿠키 제약조건 2가지│url 인코딩/디코딩

💙 들어가며 세션보다 더 기능이 다양한 쿠키. 세션과 다른 쿠키의 2가지 기능에 대해서 배우고 언제 세션 또는 쿠키를 사용하는 것이 좋을지 알아보자. ✏️ 학습내용 정리 #개인 저장소: 세션 저장소와 쿠키 지난시간 복습! 과거에는 인증정보를 웹 프로그램에 저장했지만 현재는 서버에 저장하고 있다. 하지만 서버는 쪼개져있는 서블릿 형태이기 때문에 인증정보를 계속해서 유지할 수가 없어서 서블릿을 뛰어넘는 특정 저장소가 필요하다. 그리고 서버는 어플리케이션이라는 이름의 전역 저장소와 세션 저장소라는 이름의 개인 저장소를 제공해서 이런 문제를 처리했다. 그런데 서버쪽 말고 클라이언트 쪽에서도 쿠키라는 이름의 저장소를 가지고 있고 사용자의 정보를 담을 수 있다. 즉, 서버의 세션 저장소와 클라이언트의 쿠키 저장소 ..

이시대근성왕
'SERVER│SERVLET' 카테고리의 글 목록