手动验证ASP.. NET身份用户帐户
本文关键字:用户 身份 NET 验证 ASP | 更新日期: 2023-09-27 18:09:23
我有这个ASP。asp.net MVC 5网站,使用ASP。. NET Identity(2.0之前版本),该站点带有WebAPI。我有一个Windows Phone应用程序,它将从这个网站消费服务,为此我想验证用户帐户;所以从WP应用程序,我将要求用户名和密码发送到服务器进行验证。现在,我想使用相同的哈希技术。NET Identity已经在手机上使用了,所以我可以发送散列,并在另一端进行比较,但我不确定它使用的是什么散列,另外,它似乎使用了某种盐,因为我有几个测试用户帐户具有相同的密码,但有不同的散列,也许是SecurityStamp?我宁愿不要通过网络发送纯文本密码,我很确定这是一个巨大的禁忌。
我该如何处理这个问题?
谢谢
我就不抢别人的风头了。. NET Identity正在底层执行哈希。
话虽如此,这个问题实际上比你想象的要容易得多。您可以通过网络发送"纯文本"密码,但是您需要通过SSL/TLS发送它!这实际上是大多数网站发送凭据的方式。整个HTTP请求在通过网络时被加密。最简单的解决方案就是为自己获取一个证书,并建立一个支持SSL/TLS的web服务器。
要真正回答这个问题(尽管我不认为这是正确的解决方案),虽然看起来您可以获得执行哈希的源代码,但我不建议在客户端实现它。原因是如果你升级到一个新版本的ASP。净身份?您将需要跟踪源代码并为您的客户端应用程序更新散列方法。您的用户如何在他们的设备上获得新的散列方法?他们需要升级到您的应用程序的最新版本。现在,由于服务器端版本已经升级,用户在升级应用程序之前无法进行身份验证。