회원가입 / 로그인
스프링 시큐리티 작업으로 로그인/ 회원가입 작업 진행
SSR방식을 이용해서 세션에 저장
"별도의 서버에서 통신을 통하는 경우 API서버의 입장에서는 인증할 수 있는 수단으로 토큰을 이용
타임리프는 서버에서 이미 데이터를 다 만들어서 결과를 보내주는 방식
브라우저는 매번 서버 호출시 해당 서버에서 발행된 쿠키를 자동으로 전송하고 서버에서는 사용자를 인증할 수 있음"
1. 시큐리티 인증방식
2. 회원 권한 작성 (USER,MANAGER, ADMIN)
3. 비밀번호 암호화 방식 (BCryptPasswordEncoder)
회원 권한
public void addRole() {
String username = getAuthName();
Member member = memberRepository.findByEmail(username);
member.addRole(MemberRole.MANAGER);
refreshAuthentication(member.getEmail());
}
public void refreshAuthentication(String username) {
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
if (userDetails == null) {
throw new UsernameNotFoundException("User not found: " + username);
}
Authentication authentication = new UsernamePasswordAuthenticationToken(
userDetails,
null,
userDetails.getAuthorities()
);
SecurityContextHolder.getContext().setAuthentication(authentication);
}
기본 회원 권한 ROLE_USER
펫시터 회원 권한 ROLE_USER / ROLE_MANAGER
권한에 따라 내용/ 데이터 차등 제공
'프로젝트 > Springboot-Petsitter' 카테고리의 다른 글
[Project - Petsitter] Github Actions CI/CD 파이프라인 구축 (1) | 2024.11.18 |
---|---|
[Project - Petsitter] (indexing)을 통한 성능 개선 (0) | 2024.07.16 |
[Project - Petsitter] 카카오톡 회원가입/ 로그인 (0) | 2024.06.15 |
[Project - Petsitter] ERD작성 (0) | 2024.06.15 |
[Project - Petsitter] 요구사항 명세서 작성 (0) | 2024.06.15 |