본문 바로가기

전체 글

(129)
[Vue.js] webpack.config.js 분석 Vue.js 빌드 환경 구축 시 기본적으로 webpack 빌드를 사용하고 webpack.config.js 설정이 필요하다. 기본적인 모습은 다음과 같다. module.exports = { mode: 'development', resolve: { extensions: ['.js', '.vue'] }, module: { rules: [ { test: /\.vue?$/, loader: 'vue-loader' }, { test: /\.js?$/, loader: 'babel-loader' } ] }, resolve: { extensions: ['.js', '.vue'], alias: { '@': path.resolve(__dirname, 'src/'), } }, plugins: [ new VueLoaderPlug..
[Spring boot] OAuth2 login(Google, Facebook, Naver, Kakao) 소셜 OAuth2 서비스 등록 구글(Google) 구글 OAuth2 서비스를 등록하기위해서는 아래 Google console로 가서 프로젝트 및 클라이언트 ID를 등록해야 한다. 아래 사이트로 가서 본인의 Google 계정으로 로그인을 한다. https://console.cloud.google.com/apis 로그인을 하면 아래 대시보드 메뉴로 가서 우측 프로젝트 만들기를 클릭한다. 프로젝트 이름을 입력하고 만들기를 누른다. 상단 "API 및 서비스 사용 설정" 을 클릭한다. OAuth 동의 화면 -> 외부 선택 후 만들기 클릭 앱이름을 입력한다. 나머지는 부가 정보이고 현재 테스트 서버에서 작업중이므로 승인된 도메인은 입력하지 않고 Pass. 개발자 이메일 정보 정도 입력하고 "저장 후 계속" 을 클릭..
[Spring boot] Spring Security 분석 - Session timeout 설정하기 application.properties에서 타임아웃 설정 embedded tomcat을 사용한다면 기본적으로 application.properties에 다음 property로 세션 타임아웃 설정이 가능하다. application.properties:109 # session timeout: unit default SECOND - default 120 minutes server.servlet.session.timeout=10 위에서 설정된 Property값은 부팅시 아래 configuration에 의해 시스템에 로딩된다. org/springframework/boot/spring-boot-autoconfigure/2.5.6/spring-boot-autoconfigure-2.5.6-sources.jar!/or..
[Spring boot] Spring Security 분석 - FilterSecurityInterceptor (Session 인증 기반) 서버 기동 시 embedded tomcat container 기본 설정 org/apache/tomcat/embed/tomcat-embed-core/9.0.54/tomcat-embed-core-9.0.54-sources.jar!/org/apache/catalina/session/ManagerBase.java:388 @Override public void setContext(Context context) { if (this.context == context) { // NO-OP return; } if (!getState().equals(LifecycleState.NEW)) { throw new IllegalStateException(sm.getString("managerBase.setContextNotNew..
[Spring boot] Spring Security 분석 - WebSecurityConfigurerAdapter
[Spring boot] Spring Security 분석 - FilterSecurityInterceptor (Token 인증 기반) 특정 페이지에 권한없는 계정으로 접근 시 아래와 같이 Exception 처리가 된다. handleAccessDeniedException:185, ExceptionTranslationFilter (org.springframework.security.web.access) handleSpringSecurityException:173, ExceptionTranslationFilter (org.springframework.security.web.access) doFilter:142, ExceptionTranslationFilter (org.springframework.security.web.access) doFilter:115, ExceptionTranslationFilter (org.springframework..
[Spring boot] Spring Security 분석 - Authentication 에러 처리 token이 만료되어 Access denied exception이 떳을때 org/springframework/security/access/intercept/AbstractSecurityInterceptor.java:178 attemptAuthorization(object, attributes, authenticated) 를 부를기 전에 SecurityContextHolder.getContext().getAuthentication()를 가져온다. => 따라서 filter에서 SecurityContextHolder.getContext().setAuthentication 를 안해주면 access denied 에러가 발생하게 된다. org/springframework/security/access/intercep..
[Spring boot] Spring Security 분석 - Start 시퀀스 부팅시 beanFactory에 의해 수집된 bean 들을 tomcat start시 등록함. 여기에는 filter class들도 포함됨. 더보기 :62, FilterRegistrationBean (org.springframework.boot.web.servlet) createRegistrationBean:294, ServletContextInitializerBeans$FilterRegistrationBeanAdapter (org.springframework.boot.web.servlet) createRegistrationBean:290, ServletContextInitializerBeans$FilterRegistrationBeanAdapter (org.springframework.boot.web.serv..