23.05.15(Spring)

MH S·2023년 5월 15일

Spring

목록 보기
7/13

common 은 공통으로 쓰이는 파일들을 넣은 공간


SecurityConfig 파일로 인하여 어떤 주소를 입력하든 login 화면으로 간다.

스프링 부트 2.7 버전 이상은 security 방식이 바뀜

        // 인가 Authorization (인증 Authentication + 권한 Authority)
        http.authorizeHttpRequests(config -> config
                // 패턴에 해당하는 주소는 허용
                .antMatchers("/auth/login", "/auth/join", "/api/*/auth/**")
                .permitAll()
                // 패턴에 해당하는 주소는 권한이 있어야만 들어갈 수 있음.
                .antMatchers("/todoList")
                .hasRole("USER")
                // 모든 페이지를 인증하게 만듬
                .anyRequest()
                .authenticated());

회원가입시 회원가입 데이터가 저장 되고 그 주소 권한이 부여되면서 로그인 가능하게됨.

entity, repository 는 변하지 않음

service 는 주소를 받고

controller 안에 있는 controller 파일은 화면을 리턴한다.
controller 안에 있는 Api 파일은 데이터(통신)를 리턴한다.



시큐리티

ArrayList : 동시 접속 가능, 속도가 빠르다.
Vector : 동시 접속 불가능, 속도가 느리다.

SecurityCofig -> 스프링에서 제공하는 시큐리티
UserDetails -> proc 역할

v1-> GetMapping 쿼리 스트링으로
v2-> Get Post Put Delete

스프링 시큐리티

  • 시큐리티는 수많은 필터가 있다
  • 그 중에서 우리가 주로 쓰는 것은 Authentication
  • Authentication에서 주로 커스텀 하는 것은
    UserDetails / UserDetailsService
  • 컨트롤러에서 @AuthenticationPrincipal 를 사용하면
    UserDetails 를 가져올 수 있다. (JSP 의 세션 대용품)
  • antMatchers는 경로를 지정
  • permitAll 은 필터 없이 해당 경로로 이동 할 수 있게 한다
  • hasRole 은 해당 권한이 있는 사람만 이동 할 수 있게 한다

0개의 댓글