일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 너비우선탐색
- 파이썬
- 프로그래머스
- 백준
- 이진탐색
- Merge sort
- 딥러닝
- 비지도학습
- 파이썬 알고리즘
- 코딩
- HTTP
- post
- 강화학습
- 해시
- 코테
- 딕셔너리
- rest api
- 지도학습
- 스택과 힙
- bineary search
- 깊이우선탐색
- 알고리즘
- 머신러닝
- 오버라이딩
- BOJ
- 파이썬 오류
- 캐싱
- 코딩테스트
- 멱등
- 자바
- Today
- Total
목록스프링/시큐리티 (7)
chae._.chae
보호되어 있는 글입니다.
@Service @RequiredArgsConstructor public class PrincipalDetailsService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { System.out.println("PrincipalDetailsService의 loadUserByUsername() 실행됨"); User userEntity = userRepository.findByUsername(username); System.out.println..
서버가 클라이언트의 인증을 확인하는 방식으로는 주로 쿠키, 세션, 토큰이 사용된다. 💡 JWT란? JWT(JSON Web Token) 는 디지털 서명이 되어있는, 인증에 필요한 정보들을 암호화시킨 JSON토큰이다. 토큰은 HTTP헤더에 담겨 이동하며, 서버가 클라이언트를 식별하는 용도로 사용된다. 사용자의 인증작업을 처리하는데 주로 사용된다. 사용자가 JWT를 헤더에 담아 전송하면, 서버는 서명을 검증하고, 검증이 완료되면 요청한 응답을 돌려준다. JWT는 3가지 파트로 나누어지고, .(점)으로 구분한다. Header : 토큰의 타입과 해시 암호화 알고리즘 방법으로 구성 Payload : 토큰에 담을 사용자 권한 정보와 데이터 정보가 들어 있다. Signature : Header, Payload에 해시함..
먼저, manager과 admin권한을 갖고 있는 user를 생성해준다. @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) // secure 어노테이션을 활성화, preAuthorize 어노테이션을 활성화 securedEnabled = true : secure어노테이션을 활성화해줌. prePostEnabled = true : preAuthorize, postAuthorize 어노테이션을 활성화해줌. @Secured("ROLE_ADMIN") // 먼저 SecurityConfig에서 활성화 해주고, 특정 메소드에 간단하게 걸고 싶을때 @GetMapping("/info") public @ResponseBody String inf..
💡 회원가입 회원가입 페이지인 joinForm.html을 만들어준다. 회원가입 페이지 회원가입 회원가입시 username, password, email의 정보를 입력하게 된다. 으로 넣어주어, 폼 전송시 /join으로 연결된다. 로그인 페이지 로그인 구글 로그인 회원가입을 아직 하지 않으셨나요? 로그인 페이지를 생성해준다. - MemeberRepository.java // CRUD 함수를 JpaRepository가 들고 있다. // @Repository 어노테이션 없어도, IoC가 된다! JpaRepository를 상속했기에 public interface MembersRepository extends JpaRepository { } @Bean // 해당 메서드의 리턴되는 오브젝트를 IoC로 등록해준다. ..
Dependencies : Spring Boot DevTools Lombok Spring Data JPA MySQL Driver Spring Security Mustache Spring Web 위의 의존성을 추가해 프로젝트를 생성해준다. - application.yml 파일 설정 server: port: 8080 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: true spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3307/security?serverTimezone=Asia/Seoul username: roo..
🎈 의존성 추가 Spring Security를 이용하기 위해서는 pom.xml(혹은 build.gradle)에서 dependency를 추가해줘야 한다. org.springframework.security spring-security-taglibs SecurityConfig.java @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private PrincipalDetailService principalDetailService; @Bean public BCryptPas..