2014-10-24 3 views
0

내 웹 사이트에 기록 된 모든 활성 사용자가 필요합니다. 로그인 한 사용자를 데려 갈 수 있음을 알고 있습니다.내 웹 사이트에 로그인 한 모든 사용자를 얻으려면 어떻게해야합니까?

var currentUser = manager.FindById(User.Identity.GetUserId()); 

어떻게 할 수 있습니까?

+1

상위 수준 : 예를 들어 SignalR을 사용하거나 활성 사용자를 asp.net의 응용 프로그램 개체에 저장할 수 있습니다. – gsharp

답변

2

ASP.NET membership has a feature that works for FormsAuthentication. 그렇지 않으면 영구 저장소에 가장 최근의 활동 날짜 &을 작성한 다음 특정 창에서 활성화 된 모든 사용자에 대해 해당 테이블을 쿼리해야합니다. 웹 응용 프로그램은 상태 비 저장이므로 "활발하게 기록됨"은 상태 비 저장 프로토콜을 상상하는 가상의 추상화입니다. 요청이 끝나면 서버가 잊어 버렸습니다. Another hack might be to count how many sessions are still alive if you are using sql session store.

-2

사용자 테이블에 "IsLogin"이라는 필드를 만듭니다. 사용자 로그인시 IsLogin = 0으로 설정하십시오. 업데이트 사용자가 시스템의 예에 로그인 할 때마다 필드 IsLogin = 이제

모든 로그인 한 사용자를 얻기 위해 1 : 그 IsLogin = 1 귀하의 선택에 결과를 저장 한 사용자 테이블에 확인 모든 레코드를 사용자 개체 또는 로그인 ID에있는 사용자의 ID 또는 상점 결과를 배열 또는 컬렉션 (예 : List)에 저장 이제 시작부터 끝까지 목록을 쉽게 열거하여 모든 로그인 한 사용자를 얻을 수 있습니다.

이 방법을 사용 했으므로 가장 권장되는 방법입니다.

+0

나는 당신을 표시하지 않았지만 사용자가 브라우저를 닫거나 시스템이 다운되거나 인터넷 연결이 느슨 할 때 어떤 일이 발생합니까? 나는이 솔루션이 매우 안정적이라고 생각하지 않는다. –

관련 문제