.net核心身份验证隐藏开发人员工具的密码

时间:2018-01-15 14:03:15

标签: authentication asp.net-core asp.net-identity

我正在使用Microsoft.AspNetCore.Identity来实现基本系统登录/注销。

以下是我的代码的一部分:

 [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Login(LoginVM login, string returnUrl=null)
    {
        if (!ModelState.IsValid)
            return View(login);

        var foundUser = await _userManager.FindByEmailAsync(login.EmailAddress);
        if (foundUser != null)
        {
            if (!await _userManager.IsEmailConfirmedAsync(foundUser))
            {
                ViewBag.Message = "Your credentials are wrong or your account is not activated.";
                return View(login);
            }
        }
        else return RedirectToAction("Register", "Account");

        var result = await _signinManager.PasswordSignInAsync(
            login.EmailAddress,
            login.Password,
            login.RememberMe,
            false);


        if (!result.Succeeded)
        {
            ModelState.AddModelError("Login error - please try again or contact support team.", "");
            return View(login);
        }

        if (string.IsNullOrWhiteSpace(returnUrl))
            return RedirectToAction("Index", "Home");

        return Redirect(returnUrl);
    }

它工作得很好,但我可以通过网络标签(谷歌浏览器开发者工具)在标题上看到我的密码。

有没有办法避免这种情况?这些凭证能以某种方式被隐藏吗?

欢迎任何帮助

1 个答案:

答案 0 :(得分:1)

提交表单时,输入数据的用户可以看到输入数据。但是,如果您使用https,它将在传输过程中加密。 技术上你可以使用javascript来混淆它,但它不会增加安全性。