【问题标题】:Storing plain text password in session .NET在会话 .NET 中存储纯文本密码
【发布时间】:2014-02-18 04:49:24
【问题描述】:

我正在开发一个使用 wsdl 连接到另一个服务(该服务是 SpiraTest)的 .net 应用程序。我需要在每个请求中调用身份验证方法。问题是该服务仅提供了一种使用用户名和纯文本密码进行身份验证的方法。

保存用户名和纯密码的好方法是什么?如果我没有更好的选择,我正在考虑让他们参加会议?

用户使用凭据登录以使用该应用程序,而我使用相同的凭据联系远程服务。用户只登录一次,但每次他们浏览需要来自远程服务的数据的页面时,我都需要使用用户在登录时提供的凭据进行身份验证。

【问题讨论】:

  • 我不知道该服务,但您可能会考虑要求他们加密密码的功能请求。因为普通密码从来都不是一个好主意!

标签: c# .net session passwords


【解决方案1】:

会话在服务器端消耗更多内存,这对您的任务来说不是一个好的解决方案。我建议在 asp.net 中进行表单身份验证。它会根据您为身份验证传递的凭据创建一个 cookie,并将其保留在浏览器上,直到您从应用程序中注销 http://www.codeproject.com/Articles/13872/Form-authentication-and-authorization-in-ASP-NET 希望能解决你的问题

【讨论】:

    【解决方案2】:

    我不熟悉 ASP.NET 会话,但我假设它们类似于 PHP 会话。在这种情况下,实际的 会话数据 保存在 file on the server 中。如果你只是想让你的用户看不到这个密码,我认为让他们留在会话中就足够了。

    但是,您并没有确切地告诉我们这个用户名和密码是如何存在和使用的。如果您只有一个用户名/密码,您的 应用程序使用该用户名/密码向 Web 服务发出请求,那么将它们保留在会话中毫无意义 - 只需将它们存储在全局配置中即可。 p>

    【讨论】:

    • 用户使用凭据登录以使用该应用程序,我使用相同的凭据联系远程服务。用户只登录一次,但每次他们浏览需要来自远程服务的数据的页面时,我都需要使用用户在登录时提供的凭据进行身份验证。
    • 我希望这些凭据存储在某个地方以匹配?在这种情况下,您可以散列他们的密码。并更新数据库?这样一来,将永远不会通过连接发送纯密码。
    • @woutervs 不是真的,我正在使用另一个 Web 服务提供的 wsdl 服务。因此,散列不是一种选择。但是请求功能请求是个好主意。我会尝试。谢谢。
    猜你喜欢
    • 2010-10-31
    • 2012-05-07
    • 2013-10-26
    • 2017-02-27
    • 2010-11-09
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多