【发布时间】:2015-01-25 23:34:20
【问题描述】:
我正在尝试将 web api 2 与基于令牌的身份验证一起使用。但我想使用我自己的数据库。用户已创建。我已经重命名了 OnModelCreating 中的表, 所以我有正确的表名,如用户、UserRole 而不是 Asp.netUsers 等。我更改了 ApplicationDbContext 的连接字符串以连接到我的数据库。
所以当我通过 web api 注册新用户时,它会在表格中正确创建用户,并且没问题。但是当我尝试创建一个新的不记名令牌并尝试如下查找用户时,它总是返回 null。 不知道为什么。我所有的配置都是默认的,所以我无法理解。当我尝试搜索用户时,我总是在下面得到空值。 var user = await userManager.FindAsync(context.UserName, context.Password);
我是否需要做一些特别的事情才能使 web api 2 身份验证与我现有的数据库一起工作?
【问题讨论】:
-
您可以尝试跟踪在身份验证期间执行的 SQL 查询。也许它会提供一些细节。至于我的问题可能在于密码哈希机制,但这只是一个猜测
-
我检查了一个用户的分析器 - 我看到几个查询,其中一个(183 行文本:-))返回用户数据。之后,我不再朝这个方向移动。如果情况不清楚,可能稍后我会这样做
标签: c# asp.net asp.net-web-api asp.net-web-api2