YuJaa
164
2019-06-25 16:45:13
4
181

asp.net Core 중복 로그인 방지 [도움 요청]


Core MVC 환경에서 개발 중입니다.

길게 적어뒀지만, 저의 형편없는 지식에서 도출된 결과물이기에 좋은 방향이 있다면 말씀해주시길 부탁드립니다.


A가 로그인 했을 때, B가 로그인을 시도하면 B는 접근 불가하게끔 하는 정책입니다.


중복 로그인에 관하여 여러 글들을 읽어보니 대표적으로 두 가지 방법이 있는 듯 하네요.


1. DB column 으로 체크하는 방법

2. Session 활용


1. DB column으로 체크하는 방법은.

로그인 시 특정 값(ex. Y)을 넣어주고, 만약 로그인 시 Y라면 접근 불가하게끔.

그리고 로그아웃 시 특정 값(ex. N)을 넣어주면 로그인 가능

이란 시나리오인데 로그아웃을 클릭하지 않고 브라우져를 닫아버렸을 때는 Y가 그대로 있기 때문에 로그인이 불가한 상황이 발생하기에 Pass


2. Session을 활용하려니

로그인 시 자신의 아이디와 같은 Session이 있는지 모두 조회(이 부분이 문제입니다.)

있다면 튕겨내고, 없다면 로그인과 동시에 Session 부여. 

로그아웃해도 Session 종료, 브라우져 닫아도 Session 종료되니 문제 없을텐데..


서버에 연결되어있는 모든 Session 목록을 읽어온다면 쉽게 해결될 문제인 듯 하지만.. 모르겠네요.. 도움을 구합니다.



0
0
  • 답변 4

  • Whislter
    358
    2019-06-25 23:25:44

    세션이 딕셔너리 아닌가요? 접근이 0(1)이면 걍 섹션 사용하면 될꺼같은데요?


    만약 섹션 뒤지는게 좀 그러면 위 1,2번 섞어서

    1. 이미 로그인 되어있는지 DB Column 체크.

          Y - Session 까지 다시한번 검색 

                      섹션 존재 - 튕겨내고

                      섹션 없음 - 로그인 하고 섹션 넣음


          N - 로그인 하고 DB Column Y로 변경 섹션 넣음.



    0
  • 0
  • YuJaa
    164
    2019-06-26 09:28:50

    Whislter


    안녕하세요! 우선 답변 감사합니다

    혹시 (서버에 연결된) 세션을 다 뒤지는 방법이 있나요??


    그 방법을 몰라 다른 방법으로 시도를 하고 있었거든요

    0
  • YuJaa
    164
    2019-06-26 10:08:58

    곰개발자


    안녕하세요! 답변 감사드립니다.

    github 를 참조시켜주셨는데.. 들어가서 보니 asp.net 환경의 자료인 듯 해요.

    asp.net과 asp.net Core의 구성이 다른 부분이 다소 있어 활용하진 못 할 것 같아요.


    아니면.. 제가 잘못 알고 있는건가요??ㅜㅜ

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.