security 5

springboot security 권한에 따른 url접근

상점 등록 페이지를 만들고 있었다 상점 등록은 회사/어드민만 권한을 가지고 있어야 한다 따라서 시큐리티에 설정을 추가해주었다 .authorizeRequests().antMatchers("/auth/store/**").access("hasRole('ROLE_COMPANY') or hasRole('ROLE_ADMIN')") 편리하게 권한을 체크해준다 테스트 ROLE_USER일 때 ROLE_COMPANY일 때 로직을 잘 타다가 조건대로 에러를 잘 발생해준다! 주의할 점 권한은 대문자로 해야 한다

Jang_bo_go 2022.01.01

springboot security jwt 검증필터 만들기(BasicAuthenticationFilter)

https://cordingmonster.tistory.com/193?category=1035575 springboot jwt token 발급하기 2 https://cordingmonster.tistory.com/category/Jwt/Jwt%20%ED%86%A0%ED%81%B0%EB%A7%8C%EB%93%A4%EA%B8%B0 'Jwt/Jwt 토큰만들기' 카테고리의 글 목록 cordingmonster.tistory.com 이전 글들이 조금 두서없는 거 같.. cordingmonster.tistory.com 토큰이 잘 발급되었다면 검증필터를 만들어주자 모든요청이 발생하면 BasicAuthenticationFilter 이 시큐리티 필터를 타게된다 (시큐리티를 적용중이라는 가정하에) 인증검증방식 1.로그인 사..

springboot jwt 발급하기 1 (corsFilter)

https://cordingmonster.tistory.com/category/Jwt/Jwt%20%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C%2B%EB%B0%B1%EC%97%94%EB%93%9C%20%ED%86%B5%EC%8B%A0 'Jwt/Jwt 프론트엔드+백엔드 통신' 카테고리의 글 목록 cordingmonster.tistory.com 이전에 한번 썼던 글이지만 다시 한번 정리해 놓으려고 한다 발급 전 jwt를 사용할 때는 높은 확률로 프런트/백엔드 도메인이 분리되어있을 것이다 ex) localhost:3030, (프) localhost:8080(백) axios/ajax 등 도메인이 서로 다를 때 cors정책이 우리를 가로막게 된다 localhost/:1 Acce..

Springboot 구글 로그인!(1) with oauth2

일단 application.properties 로가서 이렇게 작성해준다 이건 구글 api센터에 가서 발급받으면 된다 모르겠으면 https://youtu.be/9ui2i-SgBpk 이 영상을 참고하자! 주의할 점 페이스북은 scope 없어도 기본적인 거 다 주는 거 같던데 구글은 spring.security.oauth2.client.registration.google.scope=profile,email 없으면 로그인 시 구글이 가지고 있는 우리 아이디 번호만 받아온다 훨씬 길지만 실제 사용 중인 아이디여서 잘랐다 그래서 꼭 scope설정 해주자! 그리고 html 놀랍게도 스프링 부트에서 구글/페북 같은 큰 사이트에 대한 로그인 경로는 자동으로 지정해줘서 저렇게 입력하면 된다 자 이제 구글 로그인 로그인을 ..

Spring boot 로그인하기! with Security

controller에 로그인 페이지를 걸어준다 loginpage를 구현해주고 구글로그인 페이스북로그인 이거는 스프링에서 oauth2에서 미리 지정해서 논 경로라고 한다 그리고 여기서 주의할 점 name="username" name="password" 스프링한테 줄 때 이렇게 해줘야 한다 물론 바꿀 수도 있는데 그냥 안 바꾸고 진행하는 게 편하다! 왜 이렇게 받는지는 시큐리티 로그인을 만들면서 봐보자! 일단 로그인 성공 시 담을 principaldetail을 만든다 spring으로 자체적으로 제공해주는 userdetails를 임플리먼트 받는다! 로그인에 성공 했다면 시큐리티 전용 세선에 authentication으로 감싸 져서(?) 들어가게 된다 사용 시에는 security session=>authenti..