2013-03-08 7 views
1

VS2012 "인터넷 응용 프로그램"템플릿을 사용하여 매우 기본적인 MVC 4 사이트를 cretated했고 사용자 지정 MembershipProvider 클래스를 구현하려고합니다.MVC4 멤버십 : 로그 아웃시 멤버 자격 공급자에게 어떻게 알립니 까?

로그인하면 템플릿 코드에서 내 공급자 ValidateUser 메서드를 호출하는 WebSecurity.Login (...)을 호출합니다.

로그 아웃 할 때 템플릿 코드는 WebSecurity.Logout()을 호출하지만 알 수있는 한 내 멤버 공급자의 메소드를 호출하지 않습니다.

사용자가 로그 아웃했다는 것을 인증 백엔드에 알리는 방법을 찾아야합니다.

  • WebSecurity.Logout의 기능은 무엇입니까?
  • 사용자가 로그 아웃했다는 것을 멤버 자격 공급자에게 어떻게 알려야합니까?

답변

4
  • 정확히 무엇을 할 WebSecurity.Logout합니까?

그것은 폼 인증 쿠키를 제거하는 FormsAuthentication 클래스에 SignOut 메소드를 호출합니다.

  • 사용자가 로그 아웃했다는 사실을 회원 공급자에게 어떻게 통보해야합니까?

사용자가 로그인 또는 로그 아웃했는지 여부는 회원 공급자가 알 수 없습니다. 제어기 작업에 [Authorize] 속성을 사용하거나 User.IsInRole("someRole")을 호출하여 현재 사용자의 인증 여부를 테스트해야합니다.

+0

인증 백엔드는 세션이 활성 상태인지 또는 라이센스 및 메시징 목적으로 누가 로그인했는지 추적해야합니다. 모든 호출을 멤버쉽 클래스에 백엔드에 묶어두기를 바랬지 만 백엔드 API에 직접 호출해야 할 필요가있는 것 같습니다. – Fredrik