【问题标题】:Get a value from the database authentication with a custom context使用自定义上下文从数据库身份验证中获取值
【发布时间】:2018-12-14 13:33:14
【问题描述】:

我正在尝试恢复登录该站点但我当前被阻止的用户的值。

我使用 .Net core 2.1 和 EF Core。我创建了一个名为 jakformulaireContextjakformulaireUser 的上下文。

我必须发送一封电子邮件来确认用户已注册一个活动,但我找不到允许我恢复数据库中“电子邮件”字段的代码。

在包含 Register 控制器的脚手架部分中,我成功了,因为我将恢复字段“email”的值,但这里我位于 Account 之外的控制器中。

所以我尝试进行查找,但它似乎不是正确的方法,因为我得到了一个任务 而我只想要一个字符串。

var user = _userManager.FindByEmailAsync ("jon@live.be");

你有解决办法吗?

【问题讨论】:

    标签: c# model-view-controller asp.net-core asp.net-identity scaffolding


    【解决方案1】:

    如果你有一个异步方法,它将返回一个任务。因此,您需要做的是等到该方法完成。方法是:

    var user = await _userManager.FindByEmailAsync ("jon@live.be");
    

    更多关于async/wait的信息

    【讨论】:

    • 感谢您的帮助!这种方式的唯一问题是我不应该已经拥有 jon@live.be,我已经为我的测试硬编码了它。我可以用什么来进行查找?
    • 我想我需要的是登录用户的 id 或用户名之类的东西,然后我可以找到。
    • 好吧,我找到了方法!我只需要做 var test = HttpContext.User.Identity.Name;
    猜你喜欢
    • 2016-04-08
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2020-04-01
    • 2022-12-10
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多