๐ธ [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๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค