我使用VS2012“Internet应用程序”模板创建了一个非常基本的MVC 4站点,我正在尝试实现自定义MembershipProvider类。
登录时,模板代码调用WebSecurity.Login(...),最终调用我的提供程序ValidateUser方法。
注销时,模板代码调用WebSecurity.Logout(),但据我所知,这不会调用我的成员资格提供程序上的任何方法。
我需要找到一种方法来通知我的身份验证后端用户已注销。
答案 0 :(得分:4)
- WebSecurity.Logout究竟做了什么?
它调用SignOut
类上的FormsAuthentication
方法来删除表单身份验证Cookie。
- 如何通知会员提供商用户已退出?
会员提供商不负责了解用户是否已登录或退出。您应该在控制器操作上使用[Authorize]
属性,或者调用User.IsInRole("someRole")
来测试当前用户是否经过身份验证。