Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] 로그인 이후 기능 수행 가능하도록 하는 Spring Security 설정 문제 해결 중 #30

Open
Chaeyeon0 opened this issue May 31, 2024 · 0 comments
Assignees

Comments

@Chaeyeon0
Copy link
Collaborator

Chaeyeon0 commented May 31, 2024

💥이슈 설명

  • 기능 만들면서 생겨났던 의문점
    일기 기능의 경우 로그인이 성공 했을 때 페이지로 이동할 수 있음 (접근 권한), 이 기능을 만든 사람은 인증과 권한에 대한 로직을 구현하지 않은 상태 -> 그러면 따로 로직을 추가하거나 코드를 손 봐야 하는 부분이 있을까?

일단 이거에 인증, 권한에 대해 질문하고 받은 대답들은

  1. 로그인 성공시 백엔드에서 네이버에서 발급받은 토큰을 이용해서 서버전용 토큰을 발행한다음 프론트에 전달해주면 프론트에서 이제 이토큰을 저장해두었다가 get이나 post api호출 할때마다 주소에 이토큰을 포함시켜서 전달하고 백은 이제 받은 주소에서 토큰을 추출하여서 토큰유효성검사하고 토큰이 유효한경우에만 reponse ...... (이해 못 함)

  2. SecurityConfig에서 알아서 걸려서 permit 안해놓으면 로그인 안하면 못쓰는걸로 될 것임 -> 포스트맨 가서 테스트 해봐 403 fobidden 뜰거임

현재 SecurityConfig에 "/write_diary"에 대해 .requestMatchers("/write_diary").authenticated() 코드를 넣진 않음 (인가를 안 했다는 뜻)
postman으로 해본 결과

login_id에 이상한 값 넣었을 때 -> ㅇㅇ 당연히 외래키로 가져오는거니 안 담기는게 당연함,,, 403 안 뜨는데요 ,,,,
스크린샷 2024-05-29 173756
외래키로 가져온 값 넣으면 잘 됨
스크린샷 2024-05-29 173818

그럼 인가 했을 때 login_id에 이상한 값 넣으면 어떻게 될까?
인가해보고 postman을 돌려보니

스크린샷 2024-05-29 174155

메시지가 다르게 뜨고 DB에 담기지 않아요
레파지토리에 시큐리티 접근 권한 보안 관련 자동 구성이 제외되어 있으며, 애플리케이션 실행 시에 Spring Security가 적용되지 않는다고해서 ..?

애플리케이션 파일 코드에

package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;


@SpringBootApplication(/*exclude = SecurityAutoConfiguration.class*/)
public class GreenDayApplication {
    public static void main(String[] args) {
    SpringApplication.run(GreenDayApplication.class, args);
    }

}

이렇게 주석 처리를 해봤으니 해결이 안됐습니다 ....

일단 접근 토근이 받아 오는 과정도 문제가 생겼어서 20240530에 네이버 접근 토근을 받아내는 것 까지 성공했으나
스크린샷 2024-05-30 211108

이후 접근 토큰을 받아 토큰 값을 추가한 상태로 요청을 보내서 데이터가 잘 담기는지 확인을 해보았는데,, json으로 보내진 데이터가 전혀 담기지 않고 로그인에 대한 컨트롤러 응답만 나옵니다 ㅠㅠㅠ

// 로그인 페이지를 반환하는 핸들러 메서드
    @GetMapping("/login")
    public ResponseEntity<String> loginPage() {
        // 로그인 페이지 URL을 JSON 형태로 반환
        return ResponseEntity.ok("login");
    }

이 부분에 대한 응답이 나와요..................

@Chaeyeon0 Chaeyeon0 changed the title 로그인 이후 기능 수행 가능하도록 하는 Spring Security 설정 문제 해결 중 [feature] 로그인 이후 기능 수행 가능하도록 하는 Spring Security 설정 문제 해결 중 May 31, 2024
@Chaeyeon0 Chaeyeon0 self-assigned this May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant