드로우홀릭 더베이직

돌직구님께서 저술한 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
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 11635
공지 좋은 답변을 이끌어 내는 방법 돌직구 2017-07-14 11276
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 14001
356 액세스 DB 파일 용량 문제 문의 드립니다. 4 바남풍 2019-08-26 570
355 TFaccess 설치중 마지막 단계에서 진행을 못하고 있습니다. file 1 대하 2019-08-09 816
354 무따2010 p.229 비고 필드 file 3 클로이 2019-07-11 1240
353 액세스 동강 재수강 혜택(?) 1 클로이 2019-07-09 1220
352 동일한 테이블로 만든 두 개의 폼 file 2 클로이 2019-07-09 1200
351 각각의 앱에 리본 메뉴를 만들어 배포하는 경우 1 클로이 2019-07-09 1173
350 통화 필드에 단위($ 또는 \)표시가 저장 안 되게 할 수 있을까요? 3 클로이 2019-07-04 1206
349 크로스탭 쿼리를 이용한 조회폼 만들기 file Michael 2019-06-27 1306
348 튜터링 무료이용권 2 클로이 2019-06-25 1260
347 쿼리문 : select절의 일부가 working안됩니다. 2 prince12 2019-06-24 1313
346 시간 입력 및 계산에 대한 질문입니다. 6 클로이 2019-06-20 1303
345 크로스탭에서 변수 불러오기 file 10 Michael 2019-06-19 1283
344 웹앱을 조회용으로만 활용하고 싶은 경우에... 1 클로이 2019-06-09 1276
343 ADP 지원이 2013부터 안된다고 하셨는데요.. 1 클로이 2019-06-09 1282
342 Access 2013으로 매크로함수를 이용하여 앱을 개발할 경우... 1 클로이 2019-06-08 1262
» 액세스2013 무작정따라하기에서 궁금한 게 있습니다 1 deneb 2019-06-05 1280
340 데스크탑DB를 만든 후에 웹앱으로 컨버전이 되는지요? 1 클로이 2019-06-05 1229
339 안녕하세요 union 쿼리 사용시 질문이 있습니다ㅜㅜ file 2 망고 2019-06-04 1229
338 조회폼에서 자꾸 멈춥니다. 2 Michael 2019-05-31 1260
337 실무 액세스 3 재수강 문의 1 ltsky79 2019-05-22 1266


  주소  05854 서울시 송파구 법원로 128 문정 SK V1 C동 1314호 ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2018-서울송파-1565 호
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.