ASP.NET Identity 2.1 Alpha SignInManager.getverifiedUserIdasync无效演员
-
21-12-2019 - |
题
我在我的项目中使用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();
}
. 不隶属于 StackOverflow