2022. 3. 30. 08:00ใBack-End ์์ ์ค/Spring Framework
๐ Spring Security - Method Security
๐ฝ ๊ฐ์
`Spring Seucrity`๋ Web ๊ธฐ๋ฐ Security๋ ์์ง๋ง, `Method Security`๋ผ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ ๊ฒ์ด์์.
์ด๊ฒ์ `Service Layer`๋ฅผ ์ง์ ํธ์ถํ ๋, ์ด์ฉํ ์ ์๋ ๋ณด์ ๊ธฐ๋ฅ์ธ ๊ฒ์ด์์. Web ๊ธฐ๋ฐ์ Security๋ฅผ ์ ์ฉํ์๋๋ ์ด์ธ๋ฆฌ์ง ์๋ ๊ธฐ๋ฅ์ธ ๊ฒ์ด์์.
๋ํ, `Web Application` ์ธ์ `Desktop Application`์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ ๊ฒ์ด์์.
๐ฝ EnableGlobalMethodSecurity
`MethodSecurity`๋ `SecurityConfig`์ค์ ์ด ์ ์ฉ๋์ง ์๋ ๊ฒ์ด์์.
`MethodSecurity`์ฉ ์ค์ ์ด ๋ฐ๋ก ํ์ํ๋ฐ ์ด ๋ ์ด์ฉํ๋ ๊ฒ์ด `@EnableGlobalMethodSecurity`์ธ ๊ฒ์ด์์.
๐ฆ ์์ฑ๋ค
SecuredEnable | prePostEnabled | jsr250Enabled |
@Secured๋ฅผ ์ด์ฉํ์ฌ ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ Option | @PreAuthorize, @PostAuthorize๋ฅผ ์ด์ฉํ์ฌ ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ ํ๋ Option |
@RolesAllowed๋ฅผ ์ด์ฉํ์ฌ ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ ๋, ์ฌ์ฉํ๋ Option |
Default Value : false | Default Value : false | Dafault Value : false |
โบ @Secured, @RolesAllowd
โ ํน์ Method ํธ์ถ ์ด์ ์ด์ฉ์ ๊ถํ ํ์ธ
โ Spring EL ๋ฏธ์ง์
โ `@Secured`๋ `Spring`์์ ์ง์ํ๋ Annotaion์ด๋ฉฐ, `@RolesAllowed`๋ Java Standard
โบ @PreAuthorize, @PostAuthorize
โ ํน์ Method ํธ์ถ ์ , ํ ์ด์ฉ์ ๊ถํ ํ์ธ
โ Spring EL ์ง์
โ Spring์์ ์ง์ํ๋ Annotion
โ `PostAuthorize`๋ ํด๋น Method์ ๋ฐํ(Return)๊ฐ์ `returnObject`๋ก ์ฐธ์กฐํ์ฌ SpEl์ ํตํด ์ธ๊ฐ ์ฒ๋ฆฌ
โบ @PreAuthorize, @PostAuthorize
โ Web ๋ฐฉ์์์๋ Role์ ๊ณ์ธต ๊ตฌ์กฐ ์ค์ ์ ํด ์ฃผ์ง๋ง, `MethodSecurity`์์๋ ์ ์ฉ๋์ง ์์
โ `MethodSecurity`์ฉ `RoleHieachy` ์ค์ ๋ณ๋ ํ์
โ `GlobalMethodSecurityConfiguration`Class ์์ ๋ค `accessDecisionManager()` Override
ํ ๋ค `WebSecurity`์ค์ ์์ ํด์ค๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก `RoleHirearachy`์ค์ ํ๊ณ , `accessDicisionVoter`์ถ๊ฐ
'Back-End ์์ ์ค > Spring Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Mybatis] Spring Boot์ Mybatis๋ฅผ ์ด์ฉํ Paging ์ฒ๋ฆฌ์ ๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ (0) | 2022.06.19 |
---|---|
[Spring] Spring์ด๋? (0) | 2022.04.07 |
[Spring] Spring Security ์ธ์ฆ ์ ์ฐจ Interface | UserDetails์ UserDetailsService (0) | 2022.03.29 |
[Spring] @Valid๋ฅผ ์ด์ฉํ @RequestBody ๊ฒ์ฆ / Exception Handling / ์ ๊ท ํํ์ (0) | 2022.03.28 |
[Spring] ResponseEntity (0) | 2022.03.28 |