inblog logo
|
stwin755
    Spring

    Spring Security

    Feb 13, 2024
    Spring Security

     
    스프링에서 새 프로젝트를 만들 때 의존성을 선택하는 구간이 있다.
    거기서 spring security를 선택하면 된다.
     
    선택 못했다면 https://mvnrepository.com/ 여기 사이트에 들어가서 ‘security’ 검색.
    notion image
    Spring Boot Starter Security 들어가서 현재 자신의 버전과 맞는 버전 선택.
     
    Gradle 클릭 후 복사해서 스프링에 Build Gradle에 dependencies에 붙여넣는다.
    notion image
    여기서 버전이 맞지 않으면 오류가 날 수 있다.
    어차피 버전을 적지 않으면 자동으로 맞춰주기 때문에 버전을 안 적는 것이 좋다.
    notion image
     
    이제 localhost:8080에 들어가보자.
    notion image
    암호가 걸려있는 것을 볼 수 있다.
     
    notion image
    아이디는 user, 비밀번호는 콘솔창에 있다.
    이렇게 쓸 수는 없으니 커스터마이징을 해야한다.
     
    본격적으로 Security를 배워보자.
    Security의 핵심은 Security Filter를 공부하는 것이다.
    기본적으로 네거티브전략이라서 Filter가 다 막는다.
    그래서 우리는 필요한 것들만 풀어버릴 것이다.
     
    notion image
    톰캣필터 - 톰캣 - 시큐리티 필터(보안문지기 역할을 함) - 디스패처 서블릿 - 컨트롤러 - 리포지토리 - 데이터베이스
    (톰캣 - 스프링)
     
    Tomcat의 Filter는 D.I가 안 된다. (DB에 접근이 안 됨)
    나중에는 D.I해서 DB에 접근하기 위해 Tomcat의 Filter를 스프링 내부로 끌어당긴다.
    하지만 지금은 끌어쓰지 않을 것.
     
    지금은 Security Filter에서 다 막으니까(네거티브전략) 커스터마이징을 하면 된다.
     
    notion image
     
    notion image
    팁으로, 인증이 필요한 페이지는 /api를 앞에 붙이면 된다.
    하지만 지금은 때가 아니니 나중에 써보자.
     
    notion image
     
    notion image
     
    notion image
     
    컨트롤러에서 인증 체크를 하지 않아도 된다.
     
    파라미터에 @AuthenticationPrincipal MyLoginUser myLoginUser 넣어서 myLoginUser를 사용
    Share article

    stwin755

    RSS·Powered by Inblog