์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- ํ์ด์ฌ
- ๊ฐ๋ฐ
- ํ๋ก๊ทธ๋๋ฐ
- css
- ์ปดํจํฐ๊ณผํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊น๋ฏธ๊ฒฝ
- ์ฅํธ์์ค
- ์ฝ๋ฉ
- ์นํผ๋ธ๋ฆฌ์ฑ
- Python
- database
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋ฐ
- ์ํ
- html
- ๋ผํ๋ผ์ค์๋ง๋
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- ๋ ์
- ComputerScience
- ์ค๋ผํด
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- ์ฑ
- JavaScript
- ๋ฐ์ํ
- ๊นํ๋จ
- K๋ฐฐํฐ๋ฆฌ
- Java
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- Today
- Total
๋ชฉ๋กStudy/Java (14)
JiYoung Dev ๐ฅ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/biFwYa/btsHcpKFTwk/EpStVhKUahvJz4qQ7Fk3Ck/img.png)
์ง๋๋ฒ์ ์ด์ด ์ด๋ฒ์๋ Authorization์ Method Security์ ์ถ๊ฐ ๋ด์ฉ์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค. 2024.05.05 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (6) Spring Security Authorization(HttpServletRequests) Spring Security ์ ์ฉ๊ธฐ (6) Spring Security Authorization(HttpServletRequests)2024.05.05 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (5) Spring Security Authentication ๋์์๋ฆฌ Spring Security ์ ์ฉ๊ธฐ (5) Spring Security Authentication ๋์์๋ฆฌjwt์ ๋ํด ๊ณต..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdSGrI/btsHcSlsD9c/UkU71YtNkvqKk2YERPGJpK/img.png)
2024.05.05 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (5) Spring Security Authentication ๋์์๋ฆฌ Spring Security ์ ์ฉ๊ธฐ (5) Spring Security Authentication ๋์์๋ฆฌjwt์ ๋ํด ๊ณต๋ถํ๊ณ ์ธ์ฆ ๋ฐ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ ์ค spring security์ ๋ํ ์ดํด๊ฐ ์์ง ๋ถ์กฑํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ์ด๋ป๊ฒ spring security๋ ์ธ์ฆ ๋ฐ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ , ์ด๋ป๊ฒ ์๋ํ๋๊ฐ์danyoujeong.tistory.com ์ง๋ ์๊ฐ์ ์ด์ด ์ด๋ฒ์๋ Spring Security์ Authorization ์๋ ์๋ฆฌ์ HttpRequest์ ๋ํ ์ธ๊ฐ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๋ค. ์ด๋ฒ ํฌ์คํ ์ญ์ ์คํ๋ง ๊ณต์๋ฌธ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/o6jcT/btsHb9ntYwg/oY6YoCkI7WeEl3qrLXMR1k/img.png)
jwt์ ๋ํด ๊ณต๋ถํ๊ณ ์ธ์ฆ ๋ฐ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ ์ค spring security์ ๋ํ ์ดํด๊ฐ ์์ง ๋ถ์กฑํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ์ด๋ป๊ฒ spring security๋ ์ธ์ฆ ๋ฐ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ , ์ด๋ป๊ฒ ์๋ํ๋๊ฐ์ ๋ํ ๋ฌธ์ ์ ๋ถ๋ชํ๊ณ , ์ด๋ฒ ํฌ์คํ ์์๋ spring security ๊ณต์ ์ฌ์ดํธ๋ฅผ ํด์ํ์ฌ Authentication์ ์ํคํ ์ฒ์ ๋ํด ๊ณต๋ถํด๋ณด๊ณ ์ ํ๋ค. https://docs.spring.io/spring-security/reference/servlet/authentication/architecture.html Servlet Authentication Architecture :: Spring SecurityProviderManager is the most commonly use..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nP6Gk/btsG3sAzSdG/vVHwHgW8efQfgiLdnbKlMK/img.png)
์ด์ ์๊ฐ์๋ Spring Security๋ ๋ฌด์์ด๋ฉฐ, ์ด๋ป๊ฒ ์ ์ฉ ๊ฐ๋ฅํ์ง์ ๋ํด ์์๋ณด์๋ค. 2024.04.22 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (1) Spring Security๋?2024.04.25 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (2) Spring Security Configurationํ์๋ ๋ณธ ํ๋ก์ ํธ์์ jwt๋ฅผ ํ์ฉํ ์ธ์ฆ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ ํ๋ค. jwt ์ค์ ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ jwt๋ ๋ฌด์์ธ์ง ๋จผ์ ์ดํด๋ณด๊ณ ์ ํ๋ค. JWT(JSON Web Token)์ด๋?JWT(JSON Web Token)์ ์ธ์ฆ์ ํ์ํ ์ ๋ณด๋ค์ ์ํธํ์ํจ JSON ํ ํฐ์ ์๋ฏธํ๋ค. JWT๋ HMAC ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋น๋ฐํค๋ก..
2024.04.22 - [Study/Java] - Spring Security ์ ์ฉ๊ธฐ (1) Spring Security๋? Spring Security ์ ์ฉ๊ธฐ (1) Spring Security๋?์๋กญ๊ฒ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด์ ์ ์ฉํด๋ณด๊ณ ์ถ์๋ ๊ธฐ์ ์ค ํ๋์ธ Spring Security. ์ด๋ ํ ๊ธฐ์ ์ด๋ฉฐ ์ด๋ ํ ์๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ๋์ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํ๋ ๊ฒ๊น์ง ํ๋ ํ๋ ํฌ์คdanyoujeong.tistory.com์ง๋ ํฌ์คํ ์ ์ด์ด ์ด๋ฒ ํฌ์คํ ์์๋ Spring Security Configuration์ ๋ํด ์์๋ณด์๋ค. ํด๋น ํ๋ก์ ํธ๋ Spring Boot 3.1.11์์ ์งํํ๋ ํ๋ก์ ํธ์ด๋ฉฐ, Spring Security ์ ์ฉ์ ์ํด spring-boot-starter-secu..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lou5u/btsGRfgYb32/EG1sOMno3KAxpAQIE7kG01/img.png)
์๋กญ๊ฒ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด์ ์ ์ฉํด๋ณด๊ณ ์ถ์๋ ๊ธฐ์ ์ค ํ๋์ธ Spring Security. ์ด๋ ํ ๊ธฐ์ ์ด๋ฉฐ ์ด๋ ํ ์๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ๋์ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํ๋ ๊ฒ๊น์ง ํ๋ ํ๋ ํฌ์คํ ํด๋ณด๊ณ ์ ํ๋ค. ์ด๋ฒ ํฌ์คํ ์ Spring Security ์ ์ฉ๊ธฐ์ ์ฒซ ๋ฒ์งธ ํํธ, Spring Security๋ ๋ฌด์์ธ์ง์ ๋ํด ์ด์ผ๊ธฐํด๋ณด๊ณ ์ ํ๋ค. ๋ชฉ์ฐจ 1. Spring Security ๊ฐ๋ 2. Spring Security ํน์ง 3. Architecture ๐ค Spring Security ๊ฐ๋ Spring Security๋ ์ธ์ฆ, ๊ถํ ๋ถ์ฌ ๋ฐ ์ผ๋ฐ์ ์ธ ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ๋ฅผ ์ ๊ณตํ๋ Spring ํ๋ ์์ํฌ์ด๋ค. ๊ฐ๋ฐ์ ํ ๋ ๊ธฐ๋ฅ ๋ถ๋ถ์์ ๊ฐ์ฅ ๋จผ์ ์์ ํ๋ ๋ถ๋ถ์ด ๋ฐ๋ก ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๋ก๊ทธ์์๊ณผ ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MyMdS/btsAxhTAeYj/61vL3j7IHlX4Cb6rkvJVWK/img.png)
๐ ์๋ฐ ์ธ์ด์ ํน์ง 1. JVM ์์์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ์ ๋ ๋ฆฝ์ 2. ๊ฐ์ฒด์งํฅ์ธ์ด 3. ๋ฉํฐ์ฐ๋ ๋ฉ์ ์ง์ 4. ๋์ ๋ก๋ฉ์ ์ง์ 5. ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ์์ด ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์งํ ๐ JDK์ JRE์ ์ฐจ์ด์ JRE Java Runtime Enviroment๋ก ์๋ฐ๋ก ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ API ๊ทธ๋ฆฌ๊ณ JVM์ ํฌํจํ๊ณ ์์ JDK๋ Java Development kit๋ก ์๋ฐ๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ javadoc, javac์ ๊ฐ์ ๊ฐ๋ฐ ๋๊ตฌ์ JRE๋ฅผ ํฌํจํ๋ ๊ฐ๋ ๐ JVM์ด๋? JVM์ด๋ Java Virtual Machine์ผ๋ก ๋ฐ์ดํธ ์ฝ๋์ class ํ์ผ๋ก ์ปดํ์ผ๋ ํ์ผ์ CPU๊ฐ ์ฝ์ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ๋ณํ์์ผ ํด๋น ํ๋ก๊ทธ๋จ์ ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c1fBbG/btszX0La9qq/a7sIkImPD2qYcV6V8J1i7k/img.png)
์์ ์ง๋ฌธ 1.์๋ฐ ๋ฐ์ดํฐ ํ์ ์ค ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. ์์ ์ง๋ฌธ 2. ์๋ฐ์ ์์ํ์ ๋ค์ ๋ฌด์์ด ์์ผ๋ฉฐ ๊ฐ๊ฐ ๋ช ๋ฐ์ดํธ๋ฅผ ์ฐจ์งํ๋์? ์ค๋์ ์์ฃผ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์๋ฐ์ ์๋ฃํ์ ๋ํ ์ด์ผ๊ธฐ์ธ๋ฐ ์์ ์ง๋ฌธ 2์ ๋ํ ๋ด์ฉ์ ์๋ ๋ด์ฉ์ด๋ ์๋ฐ ๋ฐ์ดํฐ ํ์ ์ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์ฐจ์ด์ ๋ํด ์ข ๋ ์์ธํ ์์๋ณด๊ณ ์ ํ๋ค. ๋ณ์(Variable) ๋ณ์๋ ๋ฐ์ดํฐ(data)๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ํ๋ก๊ทธ๋จ์ ์ํด ์ด๋ฆ์ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ ํ์ ์๋ฐ์์ ๋ฐ์ดํฐ ํ์ ์ด๋ ๊ฐ(data)์ ์ข ๋ฅ(type)์ ๋ฐ๋ผ ๊ฐ์ด ์ ์ฅ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ์ ์ ์ฅํ์์ ์ ์ํ ๊ฒ์ด๋ค. ์๋ฃํ์๋ ๋ฌธ์ํ(char), ์ ์ํ(byte, short, int, long), ์ค์ํ(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bkyQEi/btszX2B2Jww/YXaY7GYhH7dgICQKCBDTe0/img.png)
์์ ์ง๋ฌธ 1. ๋ฉํฐ์ค๋ ๋๋? ์์ ์ง๋ฌธ 2. ๋ฉํฐ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ํ๋ก์ธ์ค(Process)์ ์ค๋ ๋(Thread) ์ค๋ ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ํ๋ก์ธ์ค์ ํจ๊ป ์ดํดํ๋ ๊ฒ์ด ์ข๋ค. ์๋ํ๋ฉด ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๋ ์์ ์ค ํ๋๊ฐ ์ค๋ ๋ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋ก์ธ์ค(Process)๋? ํ๋ก์ธ์ค(Process)๋ ๋ฌด์์ผ๊น? ํ๋ก์ธ์ค๋ ๋จ์ํ๊ฒ ๋งํ๋ฉด ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ(program)์ด๋ผ๊ณ ํ ์ ์๋ค. ํ๋์ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ค์ด๋ผ๋ฉด ๊ทธ๊ฒ์ด ๋ฐ๋ก ํ๋ก์ธ์ค์ด๋ค. ๋ค์๋งํด, ์ฌ์ฉ์๊ฐ ์์ฑํ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์ํด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ์ ์คํ ์ค์ธ ๊ฒ์ ๋งํ๋ค. ์ด๋ฌํ ํ๋ก์ธ์ค๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ์์ ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋๋ก ๊ตฌ์ฑ๋๋ค. - ํ๋ก๊ทธ๋จ : ์ปดํจํฐ์์ ์คํํ ์ ์๋ ํ์ผ, ํ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/981za/btszNRIf38o/WAUIt9NS18KDxYpOjdJ4Vk/img.png)
๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋น ๋ฅธ ์ ์ถ๋ ฅ์ ์ํด BufferedReader์ BufferedWriter๋ฅผ ์ฌ์ฉํ๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์๋ค. ํ๋ก๊ทธ๋๋จธ์ค์์ ๋ฌธ์ ๋ฅผ ํ ๋์๋ ์ง์ ์ ์ถ๋ ฅ์ ์์ฑํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด์ ์๋ Scanner์ System.out.print()๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๋ฐฑ์ค ๋ฌธ์ ๋ฅผ ํ ๋ BufferedReader์ BufferedWriter๋ฅผ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ ๊ฐ์ ์ด๋ฒ ๊ธฐํ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค ํ๋ค. ์๋ฐ์์์ ์ ์ถ๋ ฅ(I/O) I/O๋ Input๊ณผ Output์ ์ฝ์๋ก ์ ๋ ฅ๊ณผ ์ถ๋ ฅ, ์ฆ ์ ์ถ๋ ฅ์ ๋งํ๋ค. ์ ์ถ๋ ฅ์ด๋, ์ปดํจํฐ ๋ด๋ถ ๋๋ ์ธ๋ถ์ ์ฅ์น์ ํ๋ก๊ทธ๋จ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ผ๋ก ํค๋ณด๋๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ํ๋ฉด์ ์ถ๋ ฅํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ ์ถ๋ ฅ์ ์๋ผ๊ณ ํ ์ ์๋ค...