드로우홀릭 더베이직

돌직구님께서 저술한 2013무따기로 하나 하나 열심히 익혀가고 있는 독자입니다.

책 앞 부분에 로그인 기능을 구현하는 내용이 있습니다. 책 제목처럼 무작정 책 따라서 열심히 만들다보니, 로그인 기능은 구현이 되었는데....

어찌된 일인지, "사용자1"로 로그인이 되어 있는 상태에서 다른 PC에서 "사용자1" 아이디로 로그인을 하면 아무렇지도 않게 그대로 로그인이 돼버립니다.

이게 정상은 아닌 거죠??

책을 여러번 정독해봤는데, 제가 잘못 따라한 것은 없는 것 같습니다.

이 허술한 로그인 시스템을 방지할 방법이 필요합니다. 

제가 무엇을 간과하고 있는지,해답을 좀 알려주시면 고맙겠습니다.


profile

돌직구

2019.06.05 16:11:14
*.165.242.137

'사용자1'로 로그인이 되어 있는 상태에서, 다른 PC에서 '사용자1' 아이디로 로그인을 하면 로그인이 된다.

--> 이것이 문제라고 하셨는데요..


대부분의 업무 시스템에서 이러한 로그인 체계를 '문제'라고 하지 않습니다.

즉, 정상이라는 것이죠.


그것을 방지하려면, 꽤 복잡한 작업을 처리해야 합니다.


논리적으로 생각해 보자면..


접속상태를 관리하는 테이블이 있어야 합니다.

예를 들면 다음과 같습니다.


LoginID   StartTime   EndTime
--------------------------------------
user1     09:00       09:10
user2     09:00       
user1     09:15

위와 같은 구조를 보면, user1은 9시에 로그인해서 9시 10분에 로그아웃을 하였습니다.

user2는 9시에 로그인해서 계속 사용중인 상태입니다.

user1은 다시 9시 15분에 로그인해서 계속 사용중인 상태입니다.


여기에서 우리는 다음을 알 수 있습니다.

  1. 사용자가 로그인하고, 로그아웃할 때, 이 테이블에 값을 기록해 두어야 한다.
  2. EndTime에 값이 비어 있으면, 현재 사용중인 데이터이다.

이런 원칙이 섰다면, user1이 로그인할 때, 'EndTime'이 비어있는 데이터가 존재하면 로그인을 막으면 됩니다.


그러나, 로그인/로그아웃 할 때.. 이런 처리를 매 번 해 줘야 한다는 것이 꽤 번거로운 작업이죠.

무엇보다 문제는.. 어떤 문제로 인해 로그아웃하지 않고 강제 종료되었을 때..

그 사용자는 다시 로그인하지 못 하게 됩니다.


이런 이유로 대부분의 시스템에서는, 중복 로그인을 막지 않습니다.


다시 한 번 중복 로그인이 필요한 지 생각해 보시고, 필요하다면, 위 내용을 구현하시면 됩니다.

 

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31988
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28139
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23158
520 Section4-3.기본키 특성 파악하기 3 Ericsson 2024-04-23 46
519 실무 액세스3_ 2강 업로드 서식 다운로드 버그발생 해결방법? file 3 창원바우 2024-04-13 71
518 모듈설치후 디버그결과 컴파일 오류 에러메시지가 나오는데 해결방법? file 4 창원바우 2024-04-12 66
517 VBA 환경설정 실습 첫 단계에서 에러 메시지가 나왔습니다 file 2 창원바우 2024-04-10 62
516 액세스 2021 초급 13강 차트에 필터 기능 넣기 에러 질문 file 3 창원바우 2024-03-26 175
515 쿼리를 만드는데 별표에 대해 요약을 계산할 수 없습니다라는 에러메시지 file 2 바우 2024-03-15 96
514 화면데이타 초기화 버튼 명령어 문의드립니다. file 2 맥스21 2024-03-08 179
513 엑세스 2013 무작정 다라하기 (비용보고 앱 만들기 질문) file 1 Ericsson 2024-03-06 116
512 엑세스에서 커서깜박임 등 속성변경이 가능한지 문의드립니다. 1 맥스21 2024-03-05 231
511 보고서에서 컨트롤(텍스트박스)의 갯수 제한을 풀수 있나요? file 2 1 로빈스 2024-02-12 649
510 매출조회 폼 활용 건 file 2 원죽 2024-01-28 503
509 엑세스 SQL 서버 문의 4 bob 2023-12-31 2669
508 하위 폼 만들기 질문 file 1 마라나타 2023-10-08 896
507 바코드출력 관련 추가 질의드립니다. file 3 맥스21 2023-10-06 1638
506 폼에 데이터 입력이 않되요 file 2 마라나타 2023-10-05 456
505 바코드를 출력하는 프로그램 문의드립니다.   file 2 맥스21 2023-10-02 1653
504 엑세스 VBA 교육은 없습니까? 1 룰루 2023-09-15 3898
503 하위폼 엑셀로 저장하기 1 황선철 2023-09-04 3605
502 이벤트프로시져 1 열심 2023-08-02 1027
501 선생님 최신강의는 언제 오픈되나요? 2 어질현 2023-07-27 1499


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.