为什么在 asp.net 身份中验证电话号码后注销?

2024-03-16

我在我的项目中使用 asp.net Identity。在VerifyPhoneNumber查看,当用户确认他的电话号码时,他已注销(.AspNetApplicationCookie已移除。我从“资源”选项卡“检查 chrome”中检查了这一点)。
代码VerifyPhoneNumber行动于ManageController:

if (!ModelState.IsValid)
{
    return View(model);
}
string phoneNumber = UserManager.GetPhoneNumber(User.Identity.GetUserId());
var result = await UserManager.ChangePhoneNumberAsync(User.Identity.GetUserId(), phoneNumber, model.Code);
if (result.Succeeded)
{
    var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
    if (user != null)
    {
        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
    }
    ViewBag.Message = "Complete";
    return View();

}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "something wrong!");
return View(model);

为什么会出现这种情况?

Update
我已经设定validateInterval for SecurityStampValidator to 0.


The ChangePhoneNumberAsync 有这条线 https://aspnetidentity.codeplex.com/SourceControl/latest#src/Microsoft.AspNet.Identity.Core/UserManager.cs:

await UpdateSecurityStampInternal(user).WithCurrentCulture();

这会导致 cookie 过期或重新验证。 如果你不想要它,你必须继承UserManager<TUser>类(创建您的 CustomUserManager 类),然后覆盖ChangePhoneNumberAsync方法。只需使用相同的代码 https://aspnetidentity.codeplex.com/SourceControl/latest#src/Microsoft.AspNet.Identity.Core/UserManager.cs没有UpdateSecurityStampInternal line.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在 asp.net 身份中验证电话号码后注销? 的相关文章

  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • AspNetUserLogins 表身份

    AspNetUserLogins 的用途是什么 是存储用户的登录信息吗 然后我如何用该数据更新该表 AspNetUserLogins 的用途是什么 在Asp net Identity中 Identity系统使用AspNetUserLogin
  • 如何使用 Entity Framework 和 Identity 解决对象处置异常 ASP.NET Core

    我正在尝试编写一个控制器 该控制器接收来自 AJAX 调用的请求并通过 DBContext 对数据库执行一些调用 但是 当我发出命令时var user await GetCurrentUserAsynch 在对 DBContext 的任何调
  • asp.net mvc - Ajax 刷新视图的每个元素

    希望在退出 jquery 对话框后使用 ajax 刷新当前页面 我有一个包含 foreach 循环的视图 数据是从模型中提取的 每个循环有 2 个编辑 删除按钮 当我单击 编辑按钮 时 将打开一个 jquery UI 对话框进行编辑 当我保
  • 我无法在剃刀视图中设置断点

    我知道可以在 MVC Razor 视图中设置断点 但出了点问题 它不再工作了 我尝试重新启动 Visual Studio 2013 并更改调试的一些选项 你有什么建议吗 感谢弗拉基米尔 我能找到解决方案 我必须清理并重建整个解决方案 我之前
  • .NET Core Web API 密钥

    我正在开发一个应用程序 用户可以通过用户名和密码进行身份验证 我们提供一个 JWT 令牌 然后在服务器上进行验证 我想补充的一件事是能够拥有一个特殊的 API 密钥 guid 用户在与此应用程序集成时可以使用该密钥 而不是使用用户名和密码
  • TextBoxFor @Value(大写)而不是@value

    这只是出于好奇 为什么这段代码有效 Html TextBoxFor x gt x Age new Value 0 这不是 Html TextBoxFor x gt x Age new value 0 请注意其中的大写 V Value I k
  • 如何持久化传递给局部视图的数据模型?

    为了说明我面临的问题 我整理了三个简单的数据模型 public class PersonalModel public string FirstName get set public string LastName get set publi
  • 如何使用 ASP.NET MVC 进行 HTTP 调用?

    我正在尝试做的事情 我试图练习进行 HTTP 调用 如果这就是它的名字 来自一个简单的 ASP NET MVC Web 应用程序 为此 我尝试从以下位置获取天气详细信息打开天气地图 http openweathermap org appid
  • 将 VS2015 中的 ASP.NET Identity 中的 User Id 类型更改为 int

    默认情况下 VS 2015 中的 ASP NET Identity 使用字符串作为 AspNet 表的主键 我想使用 int 类型的 id 来代替 经过一些研究后发现 框架开箱即用地支持不同类型的 ID 在下面的答案中 我将展示要实现这一目
  • MVC 6通过Nuget添加后引用Jquery

    我创建了一个新的 MVC 6 项目 空模板 通过 NuGet 添加了 JQuery 那么如何在 Layout 文件中或您想要使用它的任何地方引用它 我没有包含 Jquery 的脚本文件夹 HERE
  • 依赖注入和 ModelStateWrapper

    在教程中使用服务层进行验证 http www asp net learn mvc tutorial 38 cs aspx产品服务的构造函数如下所示 ProductService IValidationDictionary validatio
  • 使用 Linq to Entities 查询创建 null ienumerable

    我正在开发一个使用实体框架的 ASP NET MVC 项目 我需要将从数据库中提取的值投影到PropertyValue类型 如下所示 public class PropertyValue public string StringValue
  • ASP.Net MVC 上的防伪系统

    当我输入以下代码时 using Html BeginForm LogOff Account FormMethod Post new id logoutForm Html AntiForgeryToken a href Log off a t
  • 选择列表逻辑应位于 ASP.NET MVC、视图、模型或控制器中的什么位置?

    我觉得我的问题与这个问题很接近 但我想对这样的代码应该放在哪里进行更一般的讨论 Asp Net MVC SelectList 重构问题 https stackoverflow com questions 2149855 asp net mv
  • 创建新控制器时出现错误:“不支持的上下文类型”

    我将使用 ASP NET MVC3 Linq to Sql 类 而不是实体框架 MS SQL Server 2008 pro 而不是 Express ed 来实现 MvcMusicStore 我从那里得到了教程mvcmusicstore c
  • 使用 OWIN Identity 注册来自多个 API 客户端的 Web API 2 外部登录

    我想要以下架构 我为本示例编写了产品名称 在一台服务器上运行的 Web API 2 应用程序 http api prettypictures com http api prettypictures com 在另一台服务器上运行的 MVC 5
  • C# 中 LINQ 中的按多列分组

    我有一个类如下 public class ActualClass public string BookName get set public string IssuerName get set public DateTime DateOfI
  • MVC5 实体框架的问题

    我在我的 Web 应用程序中使用 Visual Studio 2013 中的 ASP NET MVC5 Entity Framework 6 我正在尝试我的模型工作 但由于某种原因而出现错误 我已经尝试过 Fluent API 和它自己的模
  • MVC4 捆绑:由于 css3 功能而缩小失败?

    我想使用 MVC4 捆绑和缩小 但我总是在未缩小的 css 文件中收到此错误消息作为注释 Minification failed Returning unminified contents 534 29 run time error CSS

随机推荐

  • 需要替换特定单词的字体

    我想将字体系列 Arial 更改为 HTML 文档中出现的单词 AAAAA 该单词可以多次来自数据库 但我需要单独替换该单词的字体 我认为这将由 JavaScript 完成 有人知道该怎么做吗 假设我们需要格鲁吉亚 geo font fam
  • C 文件中是否需要 extern "C" ? (解决奇怪的 Eclipse 行为)

    我对使用 gcc 和 g 工具的混合 C C 应用程序相对较新 为了掌握它 我下载了 iperf 源代码并使用 Eclipse 成功构建了它 有一个奇怪的地方 如果我使用 Eclipse 查看文件 Thread c 它认为存在语法错误 并在
  • Facebook Unity SDK 登录速度非常慢,有时会崩溃

    我在 6 1 中注意到了这个问题 但在降级到 6 0 后它仍然存在 在某些 Android 设备上 Facebook 登录窗口需要很长时间才能显示 加载图标间歇性地显示 然后 Facebook 窗口最终显示 或者游戏崩溃 问题是不一致的 但
  • 当对象具有关系时,使用 LINQ to SQL 添加记录是否有秘诀?

    我正在使用 LINQ to SQL ASP NET MVC 和 C 我有一个名为genesisRepository连接到数据库 我有一个用名为 Stream 的对象表示的表 它的定义如下 Table public class Stream
  • 在MySql中执行sql select的结果

    我试图让 MySql 将以下语句的结果作为进一步的 sql 语句执行 我相信在oracle sqlplus中这是使用以下实现的spool功能 这是如何实现的Mysql select concat OPTIMIZE TABLE ist TAB
  • 如何使用 VB.NET 将 JSON POST 到特定 url?

    我是 VB NET 中 Web 服务的新手 我正在制作一个可以与 JIRA 对话的桌面应用程序 http www atlassian com software jira http www atlassian com software jir
  • Angular2 ng-bootstrap 模态组件

    我有一个模态成分 https ng bootstrap github io components modal创建于ng 引导程序 https ng bootstrap github io就像下面 只是一个身体
  • 是否可以编写一个接受不同抽象的泛型参数的方法?

    As a 这个问题的后续 https stackoverflow com q 9890866 403455 是否可以编写一个添加Dog到合适的房间 在此示例中 它将接受Animal房间或Dog房间 或者我被迫编写如下两种不同的方法 由于类型
  • 将新行 /n 转换为角度换行符

    我有一个包含换行符 n 的字符串 尝试显示 字符串 它不会将 n 作为新行 而是将 n 显示为文本 scope myOutput Hello n myOutput textFormat 必需 gt 你好 在 html 页面上 Tried a
  • 在catplot中指定颜色

    我想使用seaborn catplot 指定特定观察结果的颜色 在一个虚构的例子中 import seaborn as sns import random as r name list pepe Fabrice jim Michael co
  • C++/CLI,类声明之外的静态构造函数

    如何将托管类的静态构造函数的主体放在类声明之外 这种语法似乎是可编译的 但它真的意味着静态构造函数 还是只是一个静态 在翻译单元之外不可见 函数 ref class Foo static Foo static Foo Foo 是的 这是创建
  • 如何模拟不会导致脆弱测试的实现细节

    我正在读一本关于单元测试的书 下面是引用和代码 不是完整的代码 因为很容易理解代码的作用 首先 作者展示了一个不会导致脆弱测试的嘲笑 Fact public void Successful purchase var mock new Moc
  • 在 Python 中验证 ISO-8601 日期时间字符串?

    我想编写一个接受字符串并返回的函数True如果它是有效的 ISO 8601 日期时间 精确到微秒 包括时区偏移 False否则 我已经发现other https stackoverflow com questions 969285 how
  • 将规则index.php?/controller/method/param重写为/controller/method/param

    我需要这个网址的重写规则 http localhost user frame lib index php controller method 12 22 我怎样才能重写它 我可以这样称呼它 http localhost user frame
  • 如何设置设备邮件发件人姓名?

    我正在使用 Rails 设计 gem 设计向新用户发送确认电子邮件 Actionmailer 配置为使用我的 Gmail 帐户发送电子邮件 电子邮件由发件人发送 电子邮件受保护 cdn cgi l email protection 这是我的
  • 无法在 Linux Mint 19.3 中安装 R 3.6.2 中的 httr 包

    我对 R 完全陌生 我尝试安装httr包裹 我首先安装了 pacman 然后尝试通过运行来加载 httrpacman p load httr 它没有成功 它在终端中显示以下消息 将包安装到 home 用户名 R x86 64 pc linu
  • hdfs 命令在 hadoop 中已弃用

    我正在关注这个程序 http www codeproject com Articles 757934 Apache Hadoop for Windows Platform YouTube 链接 https www youtube com w
  • 如何从文本框获取值

    我改变了我的问题 因为它可能不被理解 也对不起我的英语 动态创建文本框 将它们放入数组中 我的一段代码 public partial class NewArticleForm System Web UI Page private Label
  • 响应式 JavaScript:仅针对小设备宽度执行代码

    我有一些简单的 JavaScript 嵌入在事件中 我只想为小型设备触发它们 电话等 目前我正在做 if window width lt 606 do things 但这感觉很笨拙 有没有办法只对小于某个断点的设备执行此操作 除了设置较早的
  • 为什么在 asp.net 身份中验证电话号码后注销?

    我在我的项目中使用 asp net Identity 在VerifyPhoneNumber查看 当用户确认他的电话号码时 他已注销 AspNetApplicationCookie已移除 我从 资源 选项卡 检查 chrome 中检查了这一点