[2023.01.19] 개발자 교육 83일 차 : 강의-SpringSecurity, React&Redux 학습 [구디 아카데미]

DaramGee·2024년 1월 19일
0
post-thumbnail

복습

Spring Security 필요 이유

  • 인증(Authentication) - 로그인

  • 사이트 접근자가 누구인지 시스템에 알기 위해서 필요

  • 특정 리소스 접근, 사용 보장을 위해 반드시 로그인 과정이 필요

  • SecurityFilterChain? 로그인 화면, 임시 비번 등 주도권을 스프링이 가져감 -> 인터셉트하는 것 필요

  • 로그인 방식

  • 보통 : username & pw 통한 인증

  • SNS 사이트 통한 JWT : 인증을 대신 관리하도록 위임(소셜로그인)
    - 왜 대신해서 관리?? 가입자가 천명만 되어도 세션의 갯수가 1000개가 됨.
    - 사용자가 누군지 인증을 하게 되면 접근권한 여부를 판단할 때 사용한다.(어제 몇몇 페이지의 권한)

  • 인가 혹은 권한(Authorization)

  • 사용자가 누구인지 알았다면 사이트 관리자 혹은 로그인한 사용자가 어떤 일을 할 수 있는지 권한을 설정함


강의 내용

security-step3

  • 테스트 시나리오 - 권한별 페이지 설정

  • step2까지는 권한마다 허가된 url에 접근하도록 설정을 하였고, 접속이 되지 않는 메뉴는 그대로 표시되고 있었음.

  • step3에서는 admin, teacher, user 권한을 나누어 권한에 따라 메뉴바가 다르게 보이도록 설정

  • 예 : user로 로그인 시, 관리자 페이지 메뉴는 아예 보이지 않도록!

  • admin계정 로그인 시, 모든 페이지 메뉴가 보이도록!!

  • 어떻게 할 수 있을까?? ??

  • 백 : ViewController
    - @RolesAllowed("ROLE_XXXx) : url별 권한 허가 설정

  • 프론트 : index.jsp
    - `<%%> 스클립틀릿 사용하여 함수 사용 : if문
    - 권한별 보이는 페이지 설정, 로그인여부에 따른 로그인/로그아웃 버튼 show 설정

  • 테스트 시나리오 - 회원가입 처리

  • user & pw 회원가입 처리 : 오라클 DB연결
    - mapper파일 생성 & DatabaseConfiguration.

  • 추후, 소셜 로그인 시,강제회원가입처리 : provider_providerId (예 : google_123123123123)

  • 의존성 주입 시 방법

  • 스프링 Io에서 검색하여 해당의존성 확인(https://start.spring.io/)

  • 메이븐(https://mvnrepository.com/)

  • 실습결과


Redux 수업

  • store??

  • 구독발행모델?

  • 내가 어떤 함수를 파라미터로 넘겨 구독할테니 데이터(상태)가 변경되면 그 함수를 호출 발행해줘

  • 참고(https://gobae.tistory.com/122)

0개의 댓글