1. 상품 등록 페이지 (미완성)
2. 상품 등록 페이지 접근 Controller
3. AuthenticationEntryPoint
4. SecurityConfig
5. Role.ADMIN
6. 권한 설정 테스트
// 회원의 이름이 admin이고 role(권한)이 ADMIN인 유저가 접근하는 것처럼 가상의 UserDetails 객체 구현
@WithMockUser(username = "admin", roles = "ADMIN")
//가상의 Get 방식 URL Request 생성
MockMvcRequestBuilders.get("/admin/item/new")
// Request & Response 메시지 콘솔창에 출력
andDo(print())
7. 권한 설정 테스트 print() 콘솔 출력문
MockHttpServletRequest:
HTTP Method = GET
Request URI = /admin/item/new
Parameters = {}
Headers = []
Body = null
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl
[Authentication=UsernamePasswordAuthenticationToken
[Principal=org.springframework.security.core.userdetails.User
[Username=admin, Password=[PROTECTED], Enabled=true,
AccountNonExpired=true, credentialsNonExpired=true,
AccountNonLocked=true, Granted Authorities=[ROLE_ADMIN]],
Credentials=[PROTECTED], Authenticated=true,
Details=null, Granted Authorities=[ROLE_ADMIN]]]}