사이트 접근자가 누구인지 시스템에 알기 위해서 필요
특정 리소스 접근, 사용 보장을 위해 반드시 로그인 과정이 필요
SecurityFilterChain? 로그인 화면, 임시 비번 등 주도권을 스프링이 가져감 -> 인터셉트하는 것 필요
보통 : username & pw 통한 인증
SNS 사이트 통한 JWT : 인증을 대신 관리하도록 위임(소셜로그인)
- 왜 대신해서 관리?? 가입자가 천명만 되어도 세션의 갯수가 1000개가 됨.
- 사용자가 누군지 인증을 하게 되면 접근권한 여부를 판단할 때 사용한다.(어제 몇몇 페이지의 권한)
사용자가 누구인지 알았다면 사이트 관리자 혹은 로그인한 사용자가 어떤 일을 할 수 있는지 권한을 설정함
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/)
내가 어떤 함수를 파라미터로 넘겨 구독할테니 데이터(상태)가 변경되면 그 함수를 호출 발행해줘