일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- 스프링 부트 쇼핑몰 프로젝트 with JPA
- Oracle
- 프로그래머스
- CS지식
- 스프링
- Spring Security
- 플러터
- 자바
- javascript
- Flutter
- 자료구조
- spring
- 파이썬
- baekjoon
- DB
- 시큐리티
- springboot
- postgresql
- 백준
- backjoon
- 데이터
- Java
- 스프링부트
- 데이터베이스
- 자바스크립트
- python
- CS
- 네트워크
- JPA
- Today
- Total
목록Web & Android (121)
Jin's Dev Story
Spring security Authentication(인증)과 Authorization(권한)을 자바 어플리케이션에 제공하는데 초점을 맞춘 프레임워크 → Filter 기반으로 동작함 💡 인증(Authentication) 해당 사용자가 본인이 맞는지를 확인하는 절차 UsernamePassword를 통한 인증 가능 (Session 관리, Token 관리) SNS 로그인을 통한 인증 위임도 가능 Authentication의 구조 Authentication의 메커니즘 💡 인가, 권한(Authorization) 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차 특정 페이지/리소스에 접근할 수 있는지 권한을 판단 Secured, PrePostAuthorize 어노테이션으로 쉽게 권한 체크 가능 비즈니스..
Authentication에는 인증된 결과 뿐만 아니라 인증을 하기 위한 정보, 인증을 받기 위한 정보가 하나의 객체에 들어가 있음 AuthenticationProvider는 입력된 인증을 보고 허가된 인증을 내주는 방식으로 인증 허가를 판단하며 처리 가능한 Authentication에 대해서 알려주는 support메서드를 지원 Authorities에는 '어디를 갈 수 있는지', '어떤 역할을 할 수 있는지'에 대한 권한 정보로 이를 구현(implement)한 GrantedAuthority에 관한 정보들이 저장되어있음 Authentication에 들어가 있는 Token들은 각각의 Filter들을 통해 발행된 Token들 Credentials은 인증을 받기 위해 필요한 정보들로 대표적인 예시로는 비밀번호 ..
Spring에서 로그인을 한다는 것은 SecurityContext가 authenticated가 true인 Authenticaiton(인증) 객체를 갖고 있는 상태 → 이때 authintication(인증)은 AnonymousAuthenticationToken이 아니어야 함! SecurityContextHolder(인증보관함 보관소)는 인증을 보관하는 보관소이며 Authentication(인증)을 갖고 있는 SecurityContext(인증보관함)를 보관 AuthenticationProvider(인증 제공자)은 Authentication(인증)을 제공하며 이는 여러개가 존재할 수 있음 AuthenticationProvider(인증 제공자)를 관리하는 Interface를 AuthenticationManage..
Jwt Token 로그인 💡 Use Case Specification (명세서) 우선 login, join을 제외한 페이지를 전부 막는다. 사용자가 login하면 id, pw를 검증하고 Token을 생성하여 발급한다. 발급 받은 Token 권한에 따라 해당 페이지를 접근할 수 있다. 💡 [build.gradle] implementation 'io.jsonwebtoken:jjwt:0.9.1' implementation 'javax.xml.bind:jaxb-api:2.3.0' implementation 'org.springframework.boot:spring-boot-starter-security' SourceCode & Explanation configuration AuthenticationConfig ..
// gradle 추가 implementation 'org.springframework.boot:spring-boot-starter-security:3.0.1' 애플리케이션을 만들기 위해서는 보통 인증/인가 등의 보안이 필요 웹에서 인증이란 해당 리소스에 대해서 작업을 수행할 수 있는 주체인지 확인하는 것 인가는 인증 과정 이후에 일어나며 리소스에 접근 시 인가된 유저인지 확인(접근 권한 확인) → 시큐리티를 추가 후 웹페이지에 접속하면 해당 화면이 뜸 → user, 화면에 찍히는 비밀번호로 로그인 → 한 번 로그인하면 서버가 계속 기억을 하고 있기 때문에 로그인이 되는지 확인하려면 http://localhost:8000/logout 로 접속하여 로그아웃을 해줘야 함! → 비밀번호가 복잡하..