【发布时间】:2017-06-06 09:22:34
【问题描述】:
我正在尝试创建一个用于返回令牌的身份验证的 Web API。 我在 Windows 10 上使用 .Net core 1.1、EF 1.1.0 和 SQL 2014 express。我按照this 网站的指示创建所需的类。
在中间件类中,有一个名为GetIdentity的函数来检查数据库中的用户名和密码。这是代码
private async Task<ClaimsIdentity> GetIdentity(string username, string password, MyDBContext db) {
try
{
m_user SignedUser = await db.Users.FindAsync(username);
if (SignedUser == null || !SignedUser.password.Equals(password, StringComparison.Ordinal))
throw new ArgumentException("Invalid username or password");
return await Task.FromResult<ClaimsIdentity>(
new ClaimsIdentity(
new GenericIdentity(username, "Token"),
new Claim[] { }
));
}
catch (Exception ex) {Console.WriteLine(ex.Message); return await Task.FromResult<ClaimsIdentity>(null); }
}
然后程序命中时
m_user SignedUser = await db.Users.FindAsync(username);
它抛出System.OverflowException:算术运算导致溢出。
我没有找到解决方案,或者至少找不到失败的原因。
有人知道我为什么会遇到这个异常吗?
谢谢你帮助我。
PS:如果您需要更多信息,请告诉我
【问题讨论】:
标签: .net-core entity-framework-core asp.net-core-webapi