๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • A space that records me :)

Spring boot20

[Spring Security] ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ 2021.10.23 - [IT ๊ธฐ์ˆ /๊ถŒํ•œ ์ธ์ฆ&์ธ๊ฐ€] - [Spring Security] Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌํ˜„ [Spring Security] Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž…/๊ถŒํ•œ์ธ์ฆ ๋“ฑ ๊ธฐ๋Šฅ์„ ๋งค๋ฒˆ ๊ตฌํ˜„ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ๊ทธ๋ž˜์„œ ์ง์ ‘ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์ ์šฉ์‹œํ‚ฌ Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๊ด€ yjkim97.tistory.com 6. ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ spring-security์˜ DaoAuthenticationProvider๋ฅผ ์ปค์Šคํ…€ํ•˜์˜€๋‹ค. (CustomAuthenticationProvider) CustomAuthenticationProvider์—์„œ๋Š” DB์—์„œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€.. 2021. 10. 24.
[Spring security] Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌํ˜„ ๋ณดํ†ต ์›น ์„œ๋น„์Šค์—์„œ๋Š” ๋กœ๊ทธ์ธ๊ณผ ๊ถŒํ•œ์ธ์ฆ ๋“ฑ์˜ ๊ธฐ๋Šฅ์€ ํ•„์ˆ˜์ด๋ฉฐ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๊ธฐ๋ณธ์ค‘์˜ ๊ธฐ๋ณธ์ ์ธ ์„œ๋น„์Šค์ด๋‹ค. ๋ฌผ๋ก  ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์ธ ๊ฒฝ์šฐ ํ•„์š” ์—†๋Š” ๊ธฐ๋Šฅ์ธ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ ์‹œ์Šคํ…œ์—์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด๋ฉฐ, ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ ๊ตฌํ˜„ํ•˜๊ณ ,, ์—ฌ๊ธฐ์ €๊ธฐ์„œ ๊ตฌํ˜„ํ–ˆ๋˜ ๋กœ์ง์„ ์งœ์ง‘๊ธฐํ•˜๊ณ ,, ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•ด ์™”๋‹ค. ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ธ ๋ฐ ์ด๊ฒƒ์„ ์‚ฌ๋‚ด ๋ชจ๋“ˆ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ธˆ ๋” ๊ฐœ๋ฐœ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ , ํŒŒ์ƒ๋˜๋Š” ๋ฒ„๊ทธ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?๋ผ๋Š” ์˜๊ฒฌ์ด ๋‚˜์™€ ์‚ฌ๋‚ด Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. Authentication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์„ธํŒ…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค. ์‚ฌ๋‚ด ๋ผ์ด๋ธŒ๋Ÿฌ.. 2021. 10. 23.
[Spring] Spring Security๋ž€? 2021.05 ์‚ฌ๋‚ด ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ๋กœ๊ทธ์ธ/๊ถŒํ•œ์ธ์ฆ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์‹œ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๊ตฌํ˜„ ๊ธฐ๋Šฅ : ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…, ๊ถŒํ•œ์ธ์ฆ ๋ฐ ๊ด€๋ฆฌ(method, api), ๋น„๋ฐ€๋ฒˆํ˜ธ ์‹คํŒจ, ํšŒ์›์ •๋ณด ์ˆ˜์ • Spring Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์ธ์ฆ ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์ฒ˜์Œ์— Spring Security๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€, ๋˜ ์–ด๋–ค ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๋Š”์ง€์— ๋Œ€ํ•˜์—ฌ ์ œ๋Œ€๋กœ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์—์„œ ๊ธ‰ํ•˜๊ฒŒ ๊ตฌํ˜„์„ ํ•˜์˜€๋‹ค.. ๊ทธ ๊ฒฐ๊ณผ,, ์ค‘๊ฐ„ ์ ๊ฒ€์‹œ ํŒ€์žฅ๋‹˜๊ป˜์„œ ์™œ servlet filter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‚˜์š”? ๋ผ๋Š” ์งˆ๋ฌธ์— ๋‚˜๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋Œ€๋‹ตํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.. ํŒ€์žฅ๋‹˜๊ป˜์„œ ์•Œ๋ ค์ฃผ์…จ๋‹ค. ์ตœ์†Œํ•œ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ๋Š” ํˆด, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋Š” ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ๊ฐ€์•ผํ•œ๋‹ค๊ณ . ๊ทธ๋ž˜์•ผ ๊ทธ ํˆด์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ . ๋งž๋Š” ๋ง์”€์„ ํ•ด.. 2021. 7. 11.
[JAVA] JsonUtils import java.io.IOException; import java.util.List; import java.util.Map; import org.springframework.boot.json.JsonParseException; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode.. 2021. 5. 10.
[Spring Boot] RabbitMQ ์‚ฌ์šฉ RabbitMQ๋ž€ ? 2020/11/19 - [IT story] - [RabbitMQ] RabbitMQ๋ž€? [RabbitMQ] RabbitMQ๋ž€? 2020 KT CPN ์‹œ์Šคํ…œ FM ์„œ๋ฒ„ ๊ฐ„์— ๋…ธํ‹ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ ๋Œ€ํ‘œ์ ์œผ๋กœ ํ•œ ์„œ๋ฒ„์—์„œ ์บ์‹œ๊ฐ€ ๋ณ€๋™๋˜๋ฉด, ๋‹ค๋ฅธ ์„œ๋ฒ„์—๋„ ๋™์ผํ•œ ์ž‘์—…์„ ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. RabbitMQ ๊ณ„๋… RabbitMQ๋ž€? AMQP ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ yjkim97.tistory.com ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” RabbitMQ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌผ๋ ค์žˆ๋Š” ์„œ๋ฒ„์—๊ฒŒ ๋…ธํ‹ฐ๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค. RabbitMQ ์„œ๋ฒ„๋Š” ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์žฅํ•œ๋‹ค. config.properties.xml spring.rabbitmq.host= #host spring.rabbitmq.port= #port spr.. 2021. 1. 6.
[JAVA] ReflectionUtil [util] - ReflectionUtil.java package com.kt.tbb.iptv.coupon.framework.util; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; import java.uti.. 2020. 11. 30.
[JAVA] AES256, SHA256 - ์•”ํ˜ธํ™” ๋ณตํ˜ธํ™” base64 ๋ฉ”์ด๋ธ ์ถ”๊ฐ€ Apache Commons์—์„œ ์ € ๋‘๊ฐœ๋ฅผ ํ•˜๋ฉด ์ „์ฒด ๋‹ค import์ธ๊ฐ€? commons-codec commons-codec 1.13 org.apache.commons commons-lang3 org.apache.commons commons-math3 SHA256 - ์•”ํ˜ธํ™” SHA256์€ ์•”ํ˜ธํ™”๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†๋‹ค. (์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ) 256bit์˜ hash ๊ฐ’์ด๋‹ค. public static String encryptSHA256(String value) throws NoSuchAlgorithmException{ StringBuffer encryptData = new StringBuffer(); MessageDigest sha = MessageDigest.getIns.. 2020. 11. 30.
[JAVA] FilterChain, doFilter - API ํ˜ธ์ถœ ๊ธฐ๋ก DB์— ์ €์žฅํ•˜๊ธฐ FilterChain์˜ doFilter์‚ฌ์šฉ Bean ๋“ฑ๋ก - BeanConfig.java @Bean public ApiLoggingFilter getApiLogginFilter() { ApiLoggingFilter apiLoggingFilter = new ApiLoggingFilter(); return apiLoggingFilter; } FilterChain.doFilter() - ApiLoggingFilter.java package com.kt.tbb.iptv.coupon.framework.servlet; import com.kt.tbb.iptv.coupon.business.interlock.e2e.E2eService; import com.kt.tbb.iptv.coupon.business.operati.. 2020. 11. 19.
[JAVA] ๋‘๊ฐœ Object์˜ ๊ฐ’ ๋น„๊ตํ•˜๊ธฐ Object vs Object , Map vs Map // ๋‘๊ฐœ์˜ object๋น„๊ต -> map์œผ๋กœ ์ „ํ™˜ํ›„ map ๋น„๊ต public static Map compareObject(Object obj1, Object obj2) { if(ObjectUtils.isEmpty(obj1) || ObjectUtils.isEmpty(obj2) || obj1.getClass() != obj2.getClass()) { return null; } return CommonUtils.compareMap(MapToModel.converObjectToMap(obj1), MapToModel.converObjectToMap(obj2)); } // ๋‘๊ฐœ์˜ map ๋น„๊ต public static Map compareMap(Map map1, .. 2020. 11. 19.