【问题标题】:Validate username and password without authenticating the user验证用户名和密码而不验证用户
【发布时间】:2015-06-09 19:05:36
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    如果您在项目中创建/定义了UserManager(参见here),您可以尝试通过用户名查找用户,如果找到,请使用PasswordHasher 成员调用VerifyHashedPassword 方法.

    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:Failed、Success、SuccessRehashNeeded。

    注意事项:

    ApplicationUserManager 是我对UserManager 的实现。

    【讨论】:

    • 这就是我想要的。正确的 boolseye :)
    猜你喜欢
    • 1970-01-01
    • 2018-05-26
    • 2013-12-26
    • 2016-01-24
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多