asp.net – 在更改密码时从所有浏览器注销用户
|
我有一个重置密码页面: 当用户填写详细信息并单击“重置密码”按钮时.调用以下控制器: public ActionResult ResetPassword(ResetPassword model)
{
...
return RedirectToAction("Logout");
}
当用户更改密码时,他们会从浏览器中退出.但是,如果他们同时登录到另一个浏览器,他们仍然在另一个浏览器上登录. 我想在用户更改密码时从登录的所有浏览器中注销用户. 解决方法所以我回到家,决定整理一些代码.给我看代码!!!我会使用一个处理程序,因此验证总是在用户第一次访问应用程序时完成,并且在一个地方为每个操作方法访问完成. 这个想法是当用户重置密码时,应用程序记录用户重置密码并且第一次没有登录并注销用户. user.HasResetPassword = true; user.IsFirstLoginAfterPasswordReset = false; 当用户登录时,应用程序将验证用户之前是否已重置其密码,并且现在是第一次登录.如果这些陈述有效,则应用程序会更新其记录,表示您尚未重置密码,并且您尚未首次登录. 步骤1 向ApplicationUser模型添加两个属性 第2步 在Models文件夹中添加一个AuthHandler.cs类,其实现如下. 第3步 在RouteConfig.cs中调用AuthHandler,以便为每个传入的应用程序的http请求调用它. 步骤4 在ResetPassword方法中添加如下实现.在此步骤中,当用户重置其密码更新属性时,他们已重置密码并且尚未首次登录.请注意,用户在重置密码时也会明确注销. 第5步 在Login方法中添加以下实现.在此步骤中,如果用户成功登录,请验证其密码已重置且第一次记录的密码为false.如果满足所有条件,请更新数据库中的属性,以便在用户以后重置密码时,属性处于准备状态.因此,一种循环确定并更新密码重置的状态,并在重置密码后首次登录. 最后 您的AspnetUsers表应如下所示 注释 这就是我接近它的方式.我没有测试过,所以如果遇到异常,你可以修改它.所有这些都是硬编码,以显示解决问题的方法. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如果抛出自定义异常,则重定向asp.net mvc
- 如何配置在生产服务器上运行的ASP.NET应用程序?
- ASP.NET MVC Model绑定的简单应用
- asp.net-mvc – 处理ASP.NET MVC中的路由错误
- asp.net-mvc-3 – 淘汰赛和全球化
- 在mvc4 asp.net中的Razor View中的模型声明
- asp.net-mvc – 在MVC文件上传中Request.files为空
- asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置属性
- asp.net-web-api – 将Application Insight与ASP API Core结
- asp.net-mvc – ASP.NET MVC从数据库加载Razor视图
- asp.net-mvc – 使用文件扩展名创建ActionResult
- Phonegap上的ASP.NET窗体身份验证问题(Android)
- asp.net-mvc – Web路由如何工作?
- asp.net-mvc – 如何阻止ASP.Net MVC Html.Actio
- asp.net-mvc – Chrome 27中SignalR和跨域请求的
- asp.net – OWIN AuthorizeEndpoint,其redirect_
- asp.net-mvc-3 – ASP.NET MVC 3 – 验证问题
- 捆绑和分组 – MVC 6中的捆绑和分类
- asp.net-mvc – 从部分视图添加html头标记的脚本
- asp.net-mvc – 流畅的验证自定义验证规则
