我正在使用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);
}
它工作得很好,但我可以通过网络标签(谷歌浏览器开发者工具)在标题上看到我的密码。
有没有办法避免这种情况?这些凭证能以某种方式被隐藏吗?
欢迎任何帮助
答案 0 :(得分:1)
提交表单时,输入数据的用户可以看到输入数据。但是,如果您使用https,它将在传输过程中加密。 技术上你可以使用javascript来混淆它,但它不会增加安全性。