아래에서 설명하는 내 프로젝트 (ASP.NET 2.0에서 작성된 웹 응용 프로그램)에 심각한 문제가 있습니다.단일 인스턴스 로그인 구현
사용자 아이디가 "singh_nirajan"이고 사용자가이 사용자 아이디를 사용하여 시스템에 로그인 한 "사용자 1"이라고 말한 경우를 가정 해 보겠습니다. 이제 내 요구 사항은 다른 사용자가 사용자 "User2"가 동일한 (singh_nirajan) 사용자 ID를 사용하여 시스템에 로그인하려고 할 때마다 "singh_nirajan already logged in"메시지를 표시합니다.
동일한 것을 구현하기 위해 데이터베이스에서 플래그를 업데이트합니다. 마찬가지로 우리는 사용자가 올바르게 로그 아웃 할 때마다 데이터베이스의 플래그를 업데이트합니다. 또한 사용자가 다음과 같이 제대로 로그 아웃하지 못할 경우 몇 가지 시나리오를 처리했습니다. 오류
에
- 브라우저에서 가깝습니다. 데이터베이스에서 플래그를 업데이트 할 수 없습니다. 그 이유는 사용자가 해당 플래그를 수동으로 업데이트하지 않는 한 동일한 사용자 ID를 사용하여 로그인 할 수없는 이유입니다. 위의 구현을위한
이유 :
언젠가 사용자 열려있는 여러 브라우저와는 시간의 대부분은 그들이 언젠가 동시성 문제를 초대 자신의 사용자 ID와 암호를 공유하고, 다른 브라우저에서 무거운 처리 작업을 시작했다. 이를 제한하기 위해 단일 인스턴스 로그인을 구현해야합니다.
위의 구현 방법을 다른 방법으로 제안 할 수 있습니까?
미리 감사드립니다.
동일한 사용자가 동일한 컴퓨터에서 두 번 로그인 할 수 있어야합니까? (예 : 브라우저가 종료되고 컴퓨터가 재부팅되는 경우 등)? 동일한 사용자가 동일한 컴퓨터의 두 개의 다른 창에서 로그인 할 수 있어야합니까? 이 앱이 인트라넷에 있습니까? 여러 플랫폼 (예 : Mac, Linux 등)을 지원해야합니까? – Thomas
예, 브라우저가 종료되면 사용자는 로그인 할 수 있습니다. 주요 관심사는 동일한 사용자 또는 다른 사용자의 특정 사용자 ID를 사용하여 한 번에 한 사용자 만 로그인 할 수 있어야한다는 것입니다. 이 응용 프로그램은 인트라넷에 있으며 다중 플랫폼을 지원하지 않습니다. –
여기서 문제는 두 사람이 동일한 사용자 ID를 공유하게한다는 사실에서 유래합니다. "one userid pr person"연습을 따르지 않는 이유를 조금 더 설명해 주시겠습니까? –