验证用户名和密码而不验证用户身份

ilt*_*ter 2 asp.net-web-api asp.net-identity-2

使用 Asp.Net Identity 2.x 和 WebApi 2.x(均为最新版本),是否可以仅验证给定的用户名和密码,以便了解所提供的信息是否有效,而无需实际验证用户身份?

我正在我们的身份服务中进行部分登录,在提供有效凭据后,在 EULA 许可协议获得批准之前,我必须不对用户进行身份验证。这就是我正在挣扎的地方......

抱歉没有提供任何代码,我希望问题很明显:)

Lef*_*tyX 5

如果您在项目中创建/定义了UserManager(请参阅此处),您可以尝试通过用户名查找用户,如果找到,则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);
}
Run Code Online (Sandbox Code Playgroud)

它返回PasswordVerificationResultFailedSuccessSuccessRehashNeeded

笔记:

ApplicationUserManager是我的UserManager实现。