일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 서버에도커설치
- 스프링부트팔로잉
- centos도커설치
- 스프링부트서버에사진전송
- 스프링사진업로드
- vm도커설치하는법
- 스프링구독
- 스프링익셉션처리
- springboot_exception_handler
- 스프링부트중복예외처리
- 출처 문어박사
- 스프링부트구독취소
- WAS웹서버
- 도커설치하는법
- 출처 코딩셰프
- 출처 노마드코더
- 출처 메타코딩
- 파이썬sort
- 스프링부트사진올리기
- 스프링사진
- 스프링이미지업로드
- ssh도커설치
- 스프링부트팔로우취소
- 스프링부트api
- 인스타클론
- 우분투도커설치
- 출처 따배도
- 멀티폼
- dockerinstall
- 스프링부트
- Today
- Total
목록SpringBoot/Security (8)
MakerHyeon
● Anonymous AuthenticationFilter 는 사용자 객체를 null로 처리하는 게 아니라 별도의 Anonymous Authentication Token의 인증객체를 만들어서 사용한다. ● 익명 사용자라고 할 지라도 마치 인증 사용자가 인증 성공 이후에 저장하는 방식과 동일하게 Security Context안에 인증객체를 저장한다. ● 익명사용자는 Authentication 이 null 이 아니고 문자열의 "anonymousUser" 이 저장되어 있는 principal 과 ROLE_ANONYMOUS 권한 정보를 가지고 있는 객체이다. 어떻게 보면 익명사용자 즉 로그인을 하지 않은 사용자는 궁극적으로 user 가 null 인 상태라 가정하고 코드를 작성하는게 당연할 수있다.하지만 스프링 시..

Remember Me 인증 1. 세션이 만료되고 웹 브라우저가 종료된 후에도 어플리케이션이 사용자를 기억하는 기능 2. Remember-Me 쿠키에 대한 토큰 기반 인증 후 검증되면, 사용자는 로그인 된다 3. 사용자 라이프 사이클 - 인증 성공 -> Remember-Me 쿠키 설정 - 인증 실패 -> 쿠키 존재시 쿠키 무효화 - 로그아웃 -> 쿠키 존재시 쿠키 무효화 인증되었다는 것은 spring security에서 사용자 세션, 그리고 성공한 인증 객체를 담고있는 상태이다. 사용자가 rememberme check시, Remember-Me 쿠키를 발급해주는데, 이때 쿠키는 세션을 삭제해도 남아있다. 즉, Remember Me 인증이란 세션이 만료되었더라도 인증을 유지해주는 필터이다. @Override ..
[SpringSecurity] Form Login 인증 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().authenticated(); http .formLogin() //.loginPage("/loginPage") // 사용자 정의 로그인 페이지 .defaultSuccessUrl("/") // 로그인 성공 후 이동 페이지 .failureUrl("/login") // 로그인 실..
[SpringBoot] Security 네이버 로그인 네이버 개발자 사이트 - loginForm에 등록 네이버 로그인 - application.yml 추가 naver: client-id: smgzHgKqnDOVexvnukON client-secret: xqKSvPC9Ty scope: - name - email client-name: Naver authorization-grant-type: authorization_code redirect-uri: http://localhost:8080/login/oauth2/code/naver provider: naver: authorization-uri: https://nid.naver.com/oauth2.0/authorize token-uri: https://nid...
● Security 페이스북 로그인 (security facebook login) 페이스북 API 콘솔 바로가기 - loginForm.html에 페이스북 로그인 UI추가 구글 로그인 페이스북 로그인 회원가입을 아직 하지 않으셨나요? - application.yml 에 아이디,시크릿키 추가 facebook: client-id: 57755337384710656 client-secret: 6c474e4db28a061ad83cf137c8a9e95e56 scope: - email - public_profile - 구글 , 페이스북 로그인 분리 구현을 위해 OAuth2UserInfo interface 생성 public interface OAuth2UserInfo { String getProviderId(); Str..

● 구글 로그인 준비하기 구글 API 콘솔 바로가기 0. 프로젝트 생성 1. oauth 동의안구성 2. 사용자인증정보 -> Oauth client ID 만들기 -> 승인된 redirection(http://localhost:8080/login/oauth2/code/google) 3. dependency 추가 // build.gradle dependency 추가 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 4. application.yml에 키 등록 security: oauth2: client: registration: google: client-id: 658211206947-ephbghihhrh662n8ks32ij..
[SpringBoot] Security 권한 부분 설정 1. 권한 업데이트 # MySQL update user set role = 'ROLE_MANAGE' where id = 2; update user set role = 'ROLE_ADMIN' where id = 3; 2. SecurityConfig @EnableGlobalMethodSecurity 어노테이션 붙여주기 // Secure,preAuthorize annotation 활성화 @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) public class SecurityConfig { ... 3. 메소드별 권한 설정 // IndexController.java @Secur..

[SpringBoot] Security 회원가입과 로그인 ● 회원가입 1. View Resolover 파일설정 // WebMvcConfig.java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void configureViewResolvers(ViewResolverRegistry registry){ MustacheViewResolver resolver = new MustacheViewResolver(); resolver.setCharset("UTF-8"); resolver.setContentType("text/html; charset=UTF-8"); resolver.setPrefix("clas..