gpt4 book ai didi

c# - 手动验证 ASP.NET 身份用户帐户

转载 作者:太空宇宙 更新时间:2023-11-03 21:30:53 25 4
gpt4 key购买 nike

我有一个使用 ASP.NET Identity(2.0 之前)的 ASP.NET MVC 5 站点,该站点带有一个 WebAPI。我有一个 Windows Phone 应用程序,它将使用来自该站点的服务,我想为此验证用户帐户;所以从 WP 应用程序我会要求用户名和密码将它们发送到服务器进行验证。现在,我想采用相同的散列技术 ASP.NET Identity 已经在手机上使用,所以我可以发送散列,并在另一边进行比较,但我不确定它使用什么散列,加上,它似乎使用了某种盐,因为我有几个密码相同但哈希值不同的测试用户帐户,也许是 SecurityStamp?我宁愿不通过网络发送纯文本密码,我很确定这是一个巨大的拒绝。

我应该如何处理这个问题?

谢谢

最佳答案

我不会抢优秀的风头existing answer这解释了 ASP.NET Identity 如何在幕后执行散列。

话虽这么说,这个问题其实比你想象的要容易得多。您可以通过网络发送“纯文本”密码,但您需要通过 SSL/TLS 发送它!这实际上是大多数网站发送您的凭据的方式。 整个 HTTP 请求在通过网络时被加密。对此的简单解决方案是为自己获取证书并建立一个执行 SSL/TLS 的 Web 服务器。

要真正回答这个问题(即使我不认为这是正确的解决方案),虽然看起来您可以获得如何执行散列的来源,但我不建议在客户端上实现它边。原因是如果您升级到更新版本的 ASP.NET Identity 会怎样?您将需要追踪源代码并更新客户端应用程序的哈希方法。您的用户将如何在他们的设备上获得新的哈希方法?他们需要将您的应用程序升级到最新版本。因此,由于您的服务器端版本已升级,现在您遇到了在升级应用程序之前无法进行身份验证的用户。

关于c# - 手动验证 ASP.NET 身份用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24318643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com