본문 바로가기

개발

로그인 테스트 (T-001)

반응형

폼 로그인 필터를 이용해 로그인 기능을 구현했다

이때 authentication 객체 안에는 유저 네임과 패스워드가 들어가 있다

 

일반적인 동작 방식은 다음과 같다

1. 유저는 서버에 로그인 페이지를 요청해 이에 해당하는 뷰정보를 받는다

2. 뷰에 담겨있는 폼에 알맞은 내용을 채우고 이를 서버에 전송한다

3. [post] login에 해당하는 핸들러가 이를 처리한다 이번 프로젝트의 경우 스프링 시큐리티가 알아서 해준다

 

하지만 우리 프로젝트에서는 프론트가 없어 아래와 같은 문제가 발생한다

1. 폼 정보가 없어 직접 프론트에서 [post] login 요청을 보낼 수 없다

2. swagger에 [post ]login 요청이 노출되지 않아 이를 확인 할 수 없다

 

이를 해결하기 위해 생각한 방법은 2가지가 있다

1. swagger에 스프링 시큐리티가 제공하는 api를 노출되도록 적절하게 조작한다

2. 단위 테스트까지만 진행하여(어차피 swagger에 노출이 안될 뿐, api 자체는 실제한다) 해결한다(테스트 범위를 축소)

3. 아예 이 부분에 해당하는 뷰를 제작한다

 

결론

제한된 시간과 인력으로 인해 테스트 범위를 축소하기로 결정했다

원리적으로는 이렇게 진행한다고 해도, 다른 방식에서 잡아 낼 수 있었던 문제를 동일하게 잡아 낼 수 있기에 큰 문제가 없을 것 같다

반응형

'개발' 카테고리의 다른 글

1차 개발 후기 (T-001)  (0) 2022.03.08
로그인 테스트 에러 (T-001)  (0) 2022.02.26
이메일 회원가입 기능 - 3 (T-001)  (0) 2022.02.24
2022년 2월 23일 T-001 개발 일기  (0) 2022.02.24
이메일 회원가입 기능 - 2 (T-001)  (0) 2022.02.23