반응형 Framework & Lib/스프링21 [스프링 시큐리티] 자동로그인 remember-me 쿠키 생성 커스터마이징 안녕하세요. 오늘은 스프링 시큐리티의 remember-me기능을 통해 자동로그인기능을 구현한 경우 로그인 인증 권한과 remember-me 기능을 커스터마이징 해야한 상황에서 이슈 대응법에 대해 알아 보겠습니다. 로그인 인증 권한을 얻는 것에 대해서는 따로 설명하지 않고 remember-me 쿠키 생성에 관해서 알아보도록 하겠습니다. 로그인 인증 권한을 얻는 것은 너무 다양한 방법이 있고 개발자마다 다르게 설정하는 경우가 많아 구글링의 많은 소스들을 통해 자신의 프로젝트에 맞게끔 구현하는것을 추천드립니다. 일단, 어떤 상황에서 이런 커스터마이징이 필요한지 예를 들어보겠습니다. 네이버 아이디로 로그인, 카카오톡으로 로그인, 페이스북으로 로그인 등 요즘 sns 로그인 기능을 구현한 웹, 앱 프로젝트가 많이 .. 2021. 4. 18. [스프링] @async 비동기 사용법 여러 작업을 하나의 요청으로 처리할때 많은 시간이 소요되는 경우가 있습니다. 작업의 선후관계가 중요하지 않고 각각의 작업들이 독립적인 상황이라면 이를 비동기로 처리하여 요청에 대한 시간을 절약하는것이 좋은 방법이 될 수 있습니다. 저의 경우에도, 채팅을 하는 어플리케이션에서 소켓을 통해 상대방과 대화하고 상대방이 메세지를 안 읽은 상태이면 이를 푸시알림을 보내주게끔 구현을 했었습니다. 허나, 푸시알림을 보내는 과정에서 시간이 상당히 소요되어 채팅을 하는데 메세지가 2~3초 뒤에 표시되는 현상이 나타났습니다. 따라서 이를 비동기를 통해 메인쓰레드에서 소켓을 통해 채팅하고 DB에 메세지를 넣는 작업을 하고 새로운 쓰레드에서 푸시알림을 보내게끔하여 요청에 대한 응답을 빠르게 할 수 있었습니다. 이런식으로 비동.. 2021. 2. 22. [스프링] logback 중복 제거 스프링에서 로깅을 해주는 logback을 통해 로그를 찍고 있었는데 똑같은 로그가 굉장히 많이 찍혀서 당황한적이 있다. 혹시 무엇이 잘못되었나, 스케줄링 작업에서 여러번 로그가 찍힌것이 확인되었는데 혹시 쓰레드가 여러개 생성되서 똑같은 동작이 여러번 작동되었나 걱정했었는데, 로그내용을 자세히 보니 로그마다 내용이 달라지지 않고 똑같은걸 보니 같은 동작이 여러번 작동된것 같지는 않고 logback에 대해 알아보니 logger는 기본적으로 정의한 패키지의 상위로부터 모든 appender를 상속받는다고 합니다. 따라서 로거가 여러개 찍히는 경우가 생기곤합니다. 성능에는 큰 상관이 없지만, 아무래도 로그가 여러개 찍히는것이 보기는 좋지 않으므로 중복로그를 제거하려면 아래와 같이 additivity="false".. 2021. 2. 19. 웹소켓 허트비트 heatbeat 설정(소켓 연결 상태확인) 안녕하세요. 스프링프레임워크 환경에서 sockjs와 stomp로 채팅기능을 구현하고 있습니다. 실제 채팅 어플리케이션에서 사용하는 메시지를 상대방이 읽었는지 안읽었는지 읽음/안읽음 기능을 구현하기 위해 소켓 연결생성시 실행되는 메소드와 연결종료시 발생하는 메소드를 사용해서 구현하려고 했기데 소켓이 연결되고 종료되는 시점을 채팅창을 벗어나면 서버에서 바로 알아차려야합니다. 사파리를 제외한 모든 브라우저에서 채팅창을 벗어나는 순간 소켓을 종료시키지만 사파리의 경우에만 최대 1분 정도의 딜레이 시간이 있었습니다. 정확히 말하면 윈도우용 사파리에서만 딜레이가 있습니다. 맥과 아이폰 환경에서 최신 사파리를 사용하면 다른 브라우저와 마찬가지로 페이지를 벗어나는 순간 소켓이 종료됩니다. 현재 사파리에서는 윈도우용 사.. 2020. 11. 30. 이전 1 2 3 4 5 6 다음 반응형