현재 클라이언트 및 관리자 웹 페이지가 있습니다. 클라이언트 페이지에 로그인 할 사용자가 여러 명 있습니다. 관리자 페이지에서 데이터베이스를 관리자 페이지로 복원 할 때 현재 클라이언트 페이지에 로그인 한 모든 사용자를 로그 아웃해야합니다. 그것이 어떻게 이루어져야한다는 아이디어가 있습니까? 현재 사용하는 언어는 고전적인 ASP입니다. 그것이 ASP.NET에서 잘될 수 있다면, 그것도 괜찮아. 감사.강제로 사용자 로그 아웃
답변
가장 쉬운 방법은 유지 관리중인 웹 사이트를 나타내는 Application
변수를 정의하고 서버 쪽 포함을 통해 모든 페이지에서 변수를 확인하고 해당 오류 페이지로 리디렉션하는 것일 수 있습니다.
충분히 설명하지 못해 죄송합니다. 로그 아웃의 이유는 관리자가 데이터베이스를 복원 한 후에 최신 정보를 얻는 것입니다. 모든 내 세션을 사용하기 때문에 모든 사용자를 로그 아웃하고 모든 세션 변수를 재설정해야합니다. – lipkee85
정말 캐시 한 내용에 따라 다릅니다. 데이터의 경우 사용자가 다시 로그인하지 않고 캐시 된 데이터를 지울 수 있습니다.
데이터 또는 사용 권한/보안이 변경되는 경우 데이터베이스의 현재 버전을 저장하는 SchemaVersion이라는 데이터베이스 설정이있을 수 있습니다. 앱에 로그인 한 각 사용자 요청은 쿠키/세션 버전을 데이터베이스의 버전과 비교할 수 있으며, 쿠키/세션 버전을 비교하여 클라이언트가 세션/쿠키를 삭제하고 다시 로그인하도록하는 것과 다를 수 있습니다. MSDN에서 당신이 할 수있는 clear your cookie이 같은
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
그리고 : 마이크로 소프트 도움말과 같이 할 수 있습니다 reset the session에 따르면
if (HttpContext.Current.Request.Cookies["MyCookieName"] != null)
{
HttpCookie aCookie = HttpContext.Current.Request.Cookies["MyCookieName"];
aCookie.Expires = DateTime.Now.AddDays(-10);
aCookie.Value = "";
HttpContext.Current.Response.Cookies.Add(aCookie);
}
이것은 로그인을 강제해야하지만, 내가하지 나 자신을 확인했다. 우리가 다시
로그인 할 필요가 있는지 확인하기 위해 헬퍼 클래스를LoginResetHelper.IsDbValid()
를 호출 페이지로드의 시작에서
:
그래서 요약, 당신은 DB 스키마 버전을 저장하기 위해 ASP.NET 캐시를 사용할 수 있습니다 IsDbValue가 true의 경우는 false의 경우 헬퍼 클래스에서
당신이이
정상적으로 계속
if (Cache["SchemaVersion"] == null)
{
// retrieve schemaVersion from db
Cache.Add("SchemaVersion", schemaVersion);
}
HttpCookie oCookie = new HttpCookie("ClientSchemaVersion");
if (Cache["SchemaVersion"] == oCookie.Value)
return true;
return false;
물어 것, 다음에 전화 LoginResetHelper.ResetLogin()
을 입력하고 로그인 페이지로 리디렉션하십시오. 당신은 내가
각 페이지 요청마다 데이터베이스에 연결하여 쿠키/세션을 검색하고 비교해야합니까? 나는 데이터베이스와 연결하지 않고 선호하며 사용자의 로그 아웃을 강제합니다. – lipkee85
SchemaVersion 값을 캐시에 저장할 수 있으므로 매번 db를 호출 할 필요가 없습니다. 업데이트 할 수있는 페이지 만 있으면됩니다. 그런 식으로 db를 변경하면 웹 페이지를 호출하고 변수가 재설정됩니다. – Ezz
하지만 위의 리셋 세션 방법은 다른 사용자가 자신의 컴퓨터를 사용하여 로그인 할 때 작동합니까? 내가 아는 바와 같이 쿠키/세션은 자체 컴퓨터에 저장되므로 쿠키/세션을 지우려면 컴퓨터를 과다 사용하여 지울 필요가 있습니다.내가 맞습니까? – lipkee85
- 1. 사이트에서 사용자 로그 아웃
- 2. ASP.NET/IIS : 모든 사용자 로그 아웃
- 3. 로그 아웃 후 사용자 확인
- 4. 로그 아웃 차단 된 사용자
- 5. 자동 로그 아웃
- 6. As3 그래프 API 로그 아웃
- 7. sfDoctrineGuardPlugin - 타임 아웃 로그 아웃
- 8. CakePHP 로그 아웃 문제
- 9. 사용자 로그 아웃 방지에서 대화 상자 방지?
- 10. 로그 아웃 버튼은 모든 사용자 컨트롤을 다시로드합니다.
- 11. facebook connect 로그 아웃 사용자 facebook
- 12. Android 저장 사용자 로그인 로그 아웃 상태
- 13. Facebook Connect에서 사용자 로그 아웃 처리
- 14. WWW- 인증 로그 아웃
- 15. Linkedin 로그 아웃 기능
- 16. 컴퓨터 제한을위한 리눅스 사용자 로그인/로그 아웃 로그
- 17. 장고 로그 아웃 문제
- 18. PHP 로그 아웃
- 19. GameCenter - 로그 아웃 플레이어
- 20. Facebook 로그 아웃 문제
- 21. Twitter API - 로그 아웃
- 22. JSP의 로그 아웃 코드
- 23. 내 애플리케이션에서 로그 아웃
- 24. Facebook Connect - 로그 아웃
- 25. 로그 아웃 기능
- 26. Documentum Server에서 로그 아웃
- 27. 장고 로그 아웃 URL을
- 28. DotNetOpenAuth "로그 아웃"단추
- 29. FormsAuthantication 로그 아웃
- 30. 로그인 - 로그 아웃 asp.net
위에서 언급 한 청산 기능을 수행 할
ResetLogin()
에서당신은에 로그인 할 때 강제 당신은 그들이 로그 아웃하고 다시 로그인하거나 그들과 함께 편안해야 페이지 내 사용자에게 통지 할 건가요 다음에 웹 사이트의 페이지로 이동합니까? – Jacob