2013-03-08 71 views
1

我已經創建了一個非常基本的MVC 4網站使用VS2012「互聯網應用程序」模板,我試圖實現一個自定義MembershipProvider類。MVC4會員資格:如何在註銷時通知會員供應商?

登錄時,模板代碼調用WebSecurity.Login(...),最終調用我的提供者ValidateUser方法。

註銷時,模板代碼調用WebSecurity.Logout(),但據我所知,這不會調用我的成員資格提供程序上的任何方法。

我需要找到一種方式來通知我的身份驗證後端,用戶註銷。

  • WebSecurity.Logout究竟做了什麼?
  • 我應該如何通知會員供應商該用戶已註銷?

回答

4
  • 究竟是什麼呢WebSecurity.Logout辦?

它呼籲FormsAuthenticationSignOut方法來刪除窗體身份驗證cookie。

  • 我應該如何通知成員資格提供者用戶已註銷?

這不是一個成員提供的責任,知道用戶是否已經登錄或退出。您應該在控制器操作中使用[Authorize]屬性,或者調用User.IsInRole("someRole")來測試當前用戶是否已通過身份驗證。

+0

身份驗證後端需要知道會話是否存在,以跟蹤爲登錄許可證和消息傳遞目的而登錄的人員。我曾希望將所有調用綁定到成員資格提供程序類的後端,但看起來我需要直接調用後端API。 – Fredrik 2013-03-11 07:44:38