2013-03-08 49 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