๐ธ [SPRING BOOT] | ์ํ๋ฆฌํฐ - ํ์๊ฐ์ ์ด๋ฉ์ผ ์ธ์ฆ ์๋ฌ, ํ๋กํ ์ด๋ฏธ์ง ์ ์ฅ ์๋ฌ , NullPointerException , spring boot security๋ฅผ ์ฌ์ฉํ์ง ์์๋๋ฐ security login form์ด ๋์ฌ๋
๐ฆ ํ์๊ฐ์
์ด๋ฉ์ผ ์ธ์ฆ ์๋ฌ
๐น ์๋ฌ
์ ์๋ ๊ฑฐ ๊ทธ๋๋ก zip ๋ค์ด, yaml ์์ , db์ฐ๊ฒฐ ํ๋๋ฐ ์ด๋ฉ์ผ ์ธ์ฆ์ด ์๋๋ค.
์์ธ :
DB์ authCd๊ฐ null์ด ๋์ด์ผ ํ๋๋ฐ ๊ทธ๋๋ก ๋จ์์์ด์
- ํ์๊ฐ์
์ด ๋์ง ์์๋ค.
๐น ํด๊ฒฐ
securityํจํค์ง์ SecurityConfig์ configure(HttpSecurity http)์ http.authorizeRequests().antMatchers()๋ฅผ ์์
"/user/auth" ๋ฅผ ์ถ๊ฐ
http.authorizeRequests()
.antMatchers("/user/login", "/user/join").permitAll()
.anyRequest().authenticated();
๐
http.authorizeRequests()
.antMatchers("/user/login", "/user/join", "/user/auth").permitAll()
.anyRequest().authenticated();
๐ฆ ํ๋กํ ์ด๋ฏธ์ง ์ ์ฅ ์๋ฌ , NullPointerException
๐น ์๋ฌ
์ ์๋ ๊ฑฐ ๊ทธ๋๋ก zip ๋ค์ด, yaml ์์ , db์ฐ๊ฒฐ ํ๋๋ฐ ์ด๋ฉ์ผ ์ธ์ฆ์ด ์๋๋ค.
์์ธ :
DB์authCd๊ฐnull์ด ๋์ด์ผ ํ๋๋ฐ ๊ทธ๋๋ก ๋จ์์์ด์- ํ์๊ฐ์ ์ด ๋์ง ์์๋ค.
securityํจํค์ง์SecurityConfig์configure(HttpSecurity http)์http.authorizeRequests().antMatchers()๋ฅผ ์์
"/user/auth"๋ฅผ ์ถ๊ฐ
http.authorizeRequests()
.antMatchers("/user/login", "/user/join").permitAll()
.anyRequest().authenticated();
๐
http.authorizeRequests()
.antMatchers("/user/login", "/user/join", "/user/auth").permitAll()
.anyRequest().authenticated();NullPointerException
๐น ์๋ฌ

โ NullPointerException
userService์์imgArr์ดNull์ด๋ผ์- ์ด๋ฏธ์ง ์ ์ฅ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ฌ๊ฐ ๋ฌ๋ค
๐น ํด๊ฒฐ

profile.html์์<input type="file">ํ๊ทธ์name์ ๋๊ฐ์ดimgArr๋กUserService์profile.html์์์ ์ด๋ฆ์ ํต์ผํด์ฃผ์๋๋ ํด๊ฒฐ๋์๋ค.
๐ฆ spring boot security๋ฅผ ์ฌ์ฉํ์ง ์์๋๋ฐ security login form์ด ๋์ฌ๋
๐น ์๋ฌ
pom.xml์ security ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์์ง๋ง ์ฌ์ฉํ์ง ์์ ์ํ์์ ์คํ์ ํ๋๋ฐ security login form์ด ๋์๋ค.
- ๊ทธ๋์
pom.xml์ security ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ (org.thymeleaf.extras/thymeleaf-extras-springsecurity5) ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ๋ค
- ๊ทธ๋ฌ๋ ์ฌ์ ํ
security login form์ด ๋์๋ค.
๐น ์์ธ
org.thymeleaf.extras/thymeleaf-extras-springsecurity5
๋ง๊ณ ๋
org.springframework.boot/ spring-boot-starter-security
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์๋ค.
๐น ํด๊ฒฐ
pom.xml์
org.springframework.boot/ spring-boot-starter-security์ org.thymeleaf.extras/ thymeleaf-extras-springsecurity5 ๋ฅผ ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌ ํ
Rearoadํ๋ security login form์ด ์ฌ๋ผ์ก๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ธ [SPRING BOOT] | ์ํ๋ฆฌํฐ - ํ์๊ฐ์
์ด๋ฉ์ผ ์ธ์ฆ ์๋ฌ, ํ๋กํ ์ด๋ฏธ์ง ์ ์ฅ ์๋ฌ , NullPointerException , spring boot security๋ฅผ ์ฌ์ฉํ์ง ์์๋๋ฐ security login form์ด ๋์ฌ๋), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://velog.io/@on-n-on-turtle/SPRING-BOOT-์ํ๋ฆฌํฐ-ํ์๊ฐ์
-์ด๋ฉ์ผ-์ธ์ฆ-์๋ฌ
์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์
๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
pom.xml์ security ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์์ง๋ง ์ฌ์ฉํ์ง ์์ ์ํ์์ ์คํ์ ํ๋๋ฐ security login form์ด ๋์๋ค.
- ๊ทธ๋์
pom.xml์security๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ (org.thymeleaf.extras/thymeleaf-extras-springsecurity5) ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ๋ค - ๊ทธ๋ฌ๋ ์ฌ์ ํ
security login form์ด ๋์๋ค.
org.thymeleaf.extras/thymeleaf-extras-springsecurity5
๋ง๊ณ ๋org.springframework.boot/spring-boot-starter-security
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์๋ค.
pom.xml์
org.springframework.boot/spring-boot-starter-security์org.thymeleaf.extras/thymeleaf-extras-springsecurity5๋ฅผ ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌ ํRearoadํ๋security login form์ด ์ฌ๋ผ์ก๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ธ [SPRING BOOT] | ์ํ๋ฆฌํฐ - ํ์๊ฐ์ ์ด๋ฉ์ผ ์ธ์ฆ ์๋ฌ, ํ๋กํ ์ด๋ฏธ์ง ์ ์ฅ ์๋ฌ , NullPointerException , spring boot security๋ฅผ ์ฌ์ฉํ์ง ์์๋๋ฐ security login form์ด ๋์ฌ๋), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@on-n-on-turtle/SPRING-BOOT-์ํ๋ฆฌํฐ-ํ์๊ฐ์ -์ด๋ฉ์ผ-์ธ์ฆ-์๋ฌ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค