gpt4 book ai didi

c# - ASP.Net Identity 2.1 alpha SignInManager.GetVerifiedUserIdAsync 无效转换

转载 作者:太空狗 更新时间:2023-10-29 22:26:19 24 4
gpt4 key购买 nike

我在我的项目中使用 ASP.Net MVC 5 和 ASP.Net Identity 2.1 alpha。

对于身份,我已经实现了用户管理器以使用 Guid 作为键。

我正在实现双因素身份验证。当我尝试获取用户 ID 时

var userId = await SignInManager.GetVerifiedUserIdAsync();

我得到一个错误

Invalid cast from 'System.String' to 'System.Guid'.

是 Identity alpha 版本的错误还是我遗漏了什么?如果我使用单因素身份验证,一切都很好。用户是在数据库中创建的,您可以更改用户数据等。

任何建议将不胜感激。谢谢。

最佳答案

我找到了解决方案。查看 SignInManager 的定义,我注意到两种方法

public virtual TKey ConvertIdFromString(string id);
public virtual string ConvertIdToString(TKey id);

所以我只是在我的 SignInManager 实现中覆盖了这两个方法,一切正常。

    public override Guid ConvertIdFromString(string id)
{
if (string.IsNullOrEmpty(id)) return Guid.Empty;

return new Guid(id);
}

public override string ConvertIdToString(Guid id)
{
if (id.Equals(Guid.Empty)) return string.Empty;

return id.ToString();
}

关于c# - ASP.Net Identity 2.1 alpha SignInManager.GetVerifiedUserIdAsync 无效转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25033418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com