使用 Asp.Net Identity 2.x 和 WebApi 2.x(均为最新版本),是否可以仅验证给定的用户名和密码,以便了解所提供的信息是否有效,而无需实际验证用户身份?
我正在我们的身份服务中进行部分登录,在提供有效凭据后,在 EULA 许可协议(protocol)获得批准之前,我必须不对用户进行身份验证。这就是我正在努力的地方......
抱歉没有提供任何代码,我希望问题很明显:)
最佳答案
如果您在项目中创建/定义了 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 的实现.
关于asp.net-web-api - 验证用户名和密码而不验证用户身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30740696/