asp.net-web-api - 验证用户名和密码而不验证用户身份

标签 asp.net-web-api asp.net-identity-2

使用 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/

相关文章:

c# - 从 WebAPI 返回 PageResult 未格式化为 OData

javascript - 如何将对象从 Angular 发布到 webapi Controller

c# - Web API 中的数据缓存

c# - 即使在使用 Identity ASP.NET MVC 框架关闭浏览器后,如何让用户保持登录状态?

asp.net-mvc-5 - 在默认 MVC5 应用程序中的帐户关联步骤期间从外部提供商 Google 和 Facebook 获取电子邮件

c# - 在 Identity Custom User 之后,User.Identity.GetUserId() 返回错误的类型作为字符串

c# API 可以返回 HttpWebResponse

c# - 让我所有的方法都需要 https 是个好主意吗?

asp.net-identity - 如何向IdentityServer DI框架注册ApplicationUserManager?

asp.net-mvc-5 - 了解 Asp.Net Identity 关键点