将Asp.Net Identity 2.x与WebApi 2.x(最新的)一起使用,是否可以仅验证给定的用户名和密码,以便了解所提供的信息是否有效,而无需实际验证用户?< / p>
我正在我们的身份服务部分登录,在提供有效凭据后,我必须在EULA licanse协议批准之前不对用户进行身份验证。那就是我在努力的地方......
很抱歉没有提供任何代码,我希望问题很明显:)
答案 0 :(得分:4)
如果您在项目中创建/定义了UserManager
(请参阅here),则可以尝试通过他/她的用户名找到您的用户,如果找到,则调用VerifyHashedPassword
方法使用PasswordHasher
成员。
string userName = "my-user-name";
string password = "my-password";
var user = await ApplicationUserManager.FindByNameAsync(userName);
if (user != null)
{
PasswordVerificationResult result = ApplicationUserManager.PasswordHasher.VerifyHashedPassword(user.PasswordHash, password);
}
返回PasswordVerificationResult
:失败,成功, SuccessRehashNeeded 。
注意:
ApplicationUserManager
是我UserManager的实现。