• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

스프링 시큐리티 OAuth2 인증 서버 설정의 TDD 부분입니다.

19.01.26 13:56 작성 조회수 227

0

스프링기반 resp api 개발의 ”스프링 시큐리티 OAuth2 인증 서버 설정” 7분 47초 부분입니다.
개인적으로 제PC에서 postgresql 보다 Oracle이 설치되어 있어 테스트를 했는데,
TDD로 했을때는 정상적으로 토콘이 발급이 되는데..(OK)
postman이나 curl 등 다른것으로 했을 때는 권한이 없다고 에러가 납니다.

2019-01-26 11:28:11.276 DEBUG 20296 — [nio-8080-exec-3] o.s.s.w.a.ExceptionTranslationFilter : Access is denied (user is anonymous); redirecting to authentication entry point

테스트할때와 그냥 실행할때와 다릅니다.

*** 원 기존의 소스에서 수정하여 테스트한부분이 oracle db로 바꾸었을 뿐입니다.

(처음에는 account,event, token 까지 모두 oracle 쪽을 접속하여 했는데,
계속 같은 에러가 나오길래 , token 쪽은 현소스 그래도 inmemory 에 가르키게 했고,
바뀐 부분은 test 및 실행시에 account, event 테이블이 oracle로 가르키게 바뀐부분입니다.)

제가 PostgreSQL로 테스트하지 않았지만.. 동일한것 같아서요..

TDD와 web혹은 다른툴(postman)에서 실행했을때 왜 다른지
궁금하여 질문을 드리게 되었습니다.

*소스는 git에서 받은걸로 사용하였습니다.
초기에 자동으로 table을 자동실행했으나, 그 이후에는 생성옵션 없이 사용하였고,
account, account_roles 계정에 user, admin 각각 테이터가 존재하는 일반적인 상황 입니다.

감사합니다.

답변 1

답변을 작성해보세요.

0

Access is denied는 DB와 관련이 없는 에러입니다. 스프링 시큐리티에서 익명 사용자로 인식했기 때문에 발생한 에러로 보이네요. 아마도 토큰 발급 받는 요청에 폼 데이터로 유저 정보를 제대로 주지 않았거나 app id와 secret을 제대로 설정해주지 않았기 때문으로 보입니다.