• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

RestApi에 thymeleaf 관련 질문드립니다.

20.05.17 08:24 작성 조회수 380

0

안녕하세요,

최근 사이드 프로젝트에서 spring boot rest api 담당을 하게 되어 개발 중에 있습니다.

다름이 아니라, 관리자 페이지가 필요할 것같아 개발하려고 하는데요.

현재 서버는 Oauth2를 이용하여 인증 방식을 사용합니다. 

thymeleaf 템플릿에서 formlogin을 통하여 인증 과정을 거치는데까지는 성공했지만,

그 다음 리소스들에 대해서는 oauth error, full auth request가 발생합니다.

해당 계정으로 oauth2 토큰을 만들어도 뷰페이지에 어떻게 접근을 해야할지 모르겠습니다. 

현재 ResourceServerConfigureAdapter 를 상속받아 configure http 부분에서 인증을 하게되어있고

formlogin 도 열어둔 상태입니다.

결론 적으로 oauth2 를 이용한 서버에서

thymeleaf 을 이용한 폼로그인으로 자원에 대한 인증이 가능한가요?

login -> 폼인증통과-> 다음 html에서 인증에러

아니면 React.js 를 이용하여 관리자플젝을 따로 구현해야할까요?ㅠㅠ

감사합니다!

답변 3

·

답변을 작성해보세요.

0

폼인증을 제대로 거쳤다면 해당 에러가 보일 수 없습니다. 보통 에당 에러 메시지는 토큰 기반으로 인증을 한 다음, 재인증이 필요한 리소스에 접근했을 때 발생하는 에러입니다. 이 경우에는 디버거를 사용해서 좀 더 흐름을 구체적으로 파악해야 합니다.

구체적으로 어느 리소스에 접근했으며, 해당 리소스에서 요구하는 인증은 어떤건지, 해당 요청은 어떤 인증을 겨쳤는지, 어디서 해당 에러가 발생했는지 등을 찾아내야 합니다.  

0

mojunseo49님의 프로필

mojunseo49

질문자

2020.05.17

 음

폼 인증을 통과하면, SecurityContextHolder에 담기게되고, 유지가 되어야하는 것가닌가요?

REST API 를 개발할때는 필요하다면 Holder에서 여러 데이터를 꺼내썼었습니다.

다만, 현재 REST API 프로젝트에서 Thymeleaf를 이용하여 구현하였을 때, 
폼인증을 통과하고 나서 Full authentication is required to access this resource 에러가 발생하는 것이 의아합니다.

0

물론 가능하죠. 폼 인증이든, OAuth2 토큰 인증이든 둘 다 인증을 방식이고, 인증을 거친 요청을 처리하는 스레드에 스프링 시큐리티가 인증 정보를 담아두고 사용합니다. 스프링 시큐리티를 좀 더 학습하시는게 좋겠네요.