ASP.NET ID 2를 사용하여 사용자를 관리하고 UserManager를 통해 특정 사용자가 인증되거나 로그인되었는지 확인하는 기능이 있는지 알고 싶습니다. 현재. 이 말은 내 사이트 관리자가 주어진 사용자가 로그인했는지 여부를 확인하는 것을 의미합니다. User.Identity.IsAuthenticated는 현재 HTTP 요청에만 해당됩니다. 달리 구현하려면 어떻게해야합니까?ASP.NET ID 2를 사용하여 사용자가 인증되었는지 확인
0
A
답변
2
아니요, 현재 로그인 한 사용자를 추적하는 기본 Identity 2.0에는 기능이 없으므로 직접 추가해야합니다. MVC가 작동하는 방식 때문에 (실제로 HTTP의 무국적 상태 때문에) 서버는 클라이언트가 로그인되어 있는지 여부에 대한 결정적인 아이디어를 결코 얻지 못합니다. "로그인"되는 가장 기본적인 수준에서
이 때부터로 정의 할 수 있습니다- 사용자가 인증하고, 인증 티켓은 브라우저
중 다음 중 하나가 발생할 때까지 :
사용자는 로그 아웃 링크를 클릭
는 인증 티켓 쿠키가 만료되거나 티켓이 클라이언트 측에 존재하기 때문에
삭제되면, 서버는 사용자가 첫 번째 경우에 로그 아웃 정확히 알고있다. 두 번째 경우에는 클라이언트의 다음 HTTP 요청이있을 때만 알 수 있습니다. 백그라운드 AJAX 폴링이나 SignalR과 같은 다른 클라이언트 서버 통신을 사용하지 않는다면, 클라이언트가 그냥 대기 상태에 있거나 브라우저를 닫았거나 다른 페이지로 이동 한 경우 서버는 차이를 알 수 없습니다.
자신을 계속 추적하고 싶다면 IdentityUser
클래스를 확장하여 사용자의 마지막 로그인 또는 활동의 타임 스탬프를 추가해야합니다 (사용자가 요청할 때마다이 정보를 업데이트). 이를 현재 시간과 비교 한 다음 특정 시간 범위 내에서 활동이없는 사용자가 로그 아웃 된 것으로 간주할지 결정하십시오. 예를 들어, 지난 30 분 동안 서버에 접속하지 않은 사용자가 "로그 아웃"했다고 판단 할 수 있지만 실제로 컨트롤러 방법이 Account\Logout
인 경우를 제외하고는 절대 알 수 없습니다.
관련 문제
- 1. ASP.NET - 사용자가 Active Directory로 인증되었는지 검색 하시겠습니까?
- 2. 다른 사용자가 인증되었는지 확인하십시오.
- 3. ASP.NET MVC 2를 사용하는 ASP.NET ID 2.0
- 4. 비커 세션을 사용하여 피라미드에서 사용자가 인증되었는지 확인하십시오.
- 5. 사용자가 asp.net mvc에서 인증되었는지 확인하는 가장 좋은 곳은
- 6. 사용자가 MVC5에서 인증되었는지 어떻게 확인해야합니까?
- 7. 사용자가 인증되었는지 확인하는 하트 비트?
- 8. 확인 이메일이없는 사용자가 ASP.NET MVC 웹 API ID (OWIN 보안)
- 9. Android의 Google 인증에서 사용자가 처음으로 인증되었는지 확인하십시오.
- 10. 외부 php 파일에서 사용자가 인증되었는지 확인하는 방법
- 11. 사용자가 CAS 서버로 인증되었는지 확인하는 방법은 무엇입니까?
- 12. ASP.NET MVC3을 사용하여 프로그래밍 방식으로 컴퓨터 ID 확인
- 13. 사용자가 Node.js의 백엔드에서 인증되었는지, 각도가 ui-router 인 페이지를 게재하는지 확인
- 14. jquery를 사용하여 기존 ID 확인
- 15. 모든 페이지를 확인하여 사용자가 18 세 이상으로 인증되었는지 확인하십시오.
- 16. ASP.Net 사용자가 내부 또는 외부인지 확인
- 17. 사용자가 GPS를 사용하여 운전하는지 확인
- 18. 이메일 ID 확인
- 19. 사용자가 인증되었는지 테스트 java 필터 Websphere 8 서버
- 20. 사용자가 선택한 라디오 버튼 확인
- 21. Django 템플릿 상속에서 인증되었는지 확인하기
- 22. MVC 2를 사용하여 마법사 만들기
- 23. Service Stack Client에서 사용자가 인증되었는지 확인하는 방법은 무엇입니까?
- 24. 사용자가 인증되었는지 여부를 템플릿에서 알 수없는 이유는 무엇입니까?
- 25. GWT 응용 프로그램에서 사용자가 인증되었는지 확인하는 가장 좋은 방법은 무엇입니까?
- 26. 사용자가 Active DIrectory에서 이미 인증되었는지 확인하는 방법은 무엇입니까?
- 27. 확인 - ASP.NET
- 28. ASP.Net JavaScript를 사용하여 GridView 컨트롤 유효성 확인
- 29. Twitter Digits가 이미 인증되었는지 확인합니다.
- 30. asp.net 웹 서비스 2를 반환
웹은 본질적으로 Stateless입니다. 그래서 사용자가 로그인하면 웹 사이트에 직접 물어볼 수있는 것이 아무것도 없습니다. 결국 로그인 한 다음 브라우저를 닫을 수 있습니다. 그래서 내가 로그인했는지 안 했니? 나는 FormAuthentication이 마지막 로그인 또는 업데이트 상태 날짜를보고 (현재 필드를 기억할 수 없음) 사용자 또는 사용자가 현재 로그인 한 경우 말하기 위해 시간대 (30 분)와 비교한다고 생각합니다. –