본문 바로가기

반응형

SpringBoot/스파르타 스프링 심화

(30)
[스파르타 스프링 심화] 02.13 카카오 로그인 설정하기 ##카카오 로그인 설정하기 1.카카오디벨로퍼스 사이트 https://developers.kakao.com/ 1)회원가입 2)내 애플리케이션 메뉴 선택 > 애플리케이션 추가하기 3)앱 아이콘, 앱 이름, 사업자명 저장 4)사이트 도메인 등록하기 -애플리케이션 선택 -플랫폼 메뉴 -Web 플랫폼 등록 -사이트 도메인 입력 -카카오로 로그인 했을 때 인가토큰을 받게 될 Redirect URI (callback) 를 설정하기 -동의항목 설정하기(카카오 서버로부터 사용자의 어떤 정보를 받을지 정할 수 있습니다) 프로필 정보를 '필수 동의'로 받습니다. 카카오계정(이메일) 정보를 '선택 동의'로 받습니다.
[스파르타 스프링 심화] 02.12 소셜 로그인 ##소셜 로그인 1. 소셜 로그인 이란 : 다른 사이트의 회원 로그인을 통해 현재 사이트를 이용하는 것 2. 필요한 이유 -모든 웹사이트마다 회원가입을 하면 불편하다. -웹 제공자 입장에서는 보안을 책임지는 부담이 있다. -> 잘하는 사람한테 맡기자! 3. 대표적 기술 OAuth : 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜
[스파르타 스프링 심화] 02.11 접근 불가 페이지 만들기 ## 접근 불가 페이지 1.src > main > resources > static > forbidden.html -html 추가 2.스프링 시큐리티 설정을 이용해 '관리자'만 접속 가능한 페이지를 설정해 봅시다. 1) 스프링 시큐리티가 로그인한 회원의 권한을 인식하도록 수정 -SimpleGrantedAuthority : 인증정보를 담는 스프링 시큐리티 기본 객체 2)WebSecurityConfig 파일 수정 "@EnableGlobalMethodSecurity(securedEnabled = true)" 추가 -축해줘야 @Secured 어노테이션 사용 가능 3)컨트롤러에서 인가가 필요한 API 에 Secured 어노테이션과 "ROLE 이름" 추가 -@Secured("@ROLE 이름}") -HomeCont..
[스파르타 스프링 심화] 02.10 회원별 상품 등록 및 조회 ## 상품 등록 (회원별) : 회원별 상품등록을 위해서는 상품등록 시 회원의 ID를 같이 저장해야 함. -> 나중에 관심상품 검색 시 회원 ID 로 검색해서 같은 것만 GET 1.src > main > com.sparta.springcore.controller > ProductController - UserDetailsImpl 로 회원 정보를 받고 여기서 회원 ID를 추출해 ProductService로 신규상품 등록 2. src > main > com.sparta.springcore.service> ProductService : 회원 ID가 주어지면 Product에 ID 같이 저장, 생성 해서 리파지토리에 저장 3.src > main > com.sparta.springcore.model > Product..
[스파르타 스프링 심화] 02.09 로그인, 로그아웃 기능 구현 ##스프링 시큐리티를 이용한 로그인 처리 구현 1.로그인 처리 과정 1) UserDetailsService 인터페이스 → UserDetailsServiceImpl 클래스 : 회원 리파지토리에서 아이디 검색해서 찾아옴 2) UserDetails 인터페이스 → UserDetailsImpl 클래스 : UserDetailsServiceImpl 로 찾아온 UserDetailsImpl 객체를 HomeController 에게 전달 -> HomeController 가 username을 Model 객체를 통해 index.html 파일로 넘겨줘서 홈화면에 "username 님의 컬렉션 샵 이라는 문구가 뜨게 함"
[스파르타 스프링 심화] 02.08 패스워드 암호화 구현 ##패스워드 암호화 -현재 암호화가 안되어 있다. 암호화를 시키지 않으면 정보통신법상에 위배된다고 한다. -> 암호화 -해킹을 당해서 비밀번호가 유출되지 않게 일방향 해싱으로 해야 함. 1.BCrypt 함수 빈으로 등록 -PasswordEncoder 암호화 해싱 기본 인터페이스. -BCryptPasswordEncoder 는 BCrypt 해싱 기법 함수 -src > main > com.sparta.springcore.security > WebSecurityConfig 1 2 3 4 5 6 7 // 회원 패스워드 암호화 // 스프링 security에서 기본 제공 // PasswordEncoder 가 인터페이스 , BCryptPasswordEncoder는 암호화 중 1종류 @Bean public Passwor..
[스파르타 스프링 심화] 02.06 회원 가입 UI 반영 ##회원 가입 UI 반영 1.프론트 개발자가 이미 구현한 UI 파일을 서버에 반영한다고 가정 -src > main > resources > static > login.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 로그인 페이지 Log into Select Shop 카카오로 로그인하기 회원 가입하기 로그인에 실패하였습니다. 아이디 비밀번호 로그인 Colored by Color Scripter cs -src > main > resources > static > signup.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..
[스파르타 스프링 심화] 02.05. '스프링 시큐리티' 프레임워크 ##스프링 시큐리티 : 로그인 회원가입 등 여러 기능 제공 ##스프링 시큐리티' 프레임워크 추가 build.gradle -> dependencies 에 추가 1 2 3 4 // 스프링 시큐리티 implementation 'org.springframework.boot:spring-boot-starter-security' // Thymeleaf (뷰 템플릿 엔진) implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' cs ##'스프링 시큐리티' 활성화 src > main > com.sparta.springcore.security > WebSecurityConfig 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..

반응형