【发布时间】:2012-01-12 08:00:02
【问题描述】:
我正在为我的网站使用 ASP.NET MVC 3 成员资格,并具有默认值。这样用户的会员密码就被安全保存了。
我的服务要求用户输入他们使用的其他网络服务的用户名/密码。我从我的服务中访问这些服务。如果我保存用户的服务密码,我需要确保这些用户名/密码也被安全存储,这样如果有人入侵我的服务器,他们就不会被暴露。
我了解如何完成此操作的一般概念(使用他们作为密钥提供的 ASP.NET 成员身份密码的散列来加密用户名/密码)。但我不知道具体的 API 或正确的模式。
我还认为,真正做到这一点基本上是不可能的,因为如果有人入侵了我的服务,他们可以简单地使用自己的哈希来解密密码。我说的对吗?
假设我错了,并且可以做我想做的事,假设我的模型包含如下内容:
public class MSExchangeSettings
{
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address for your Exchange account")]
public string EmailAddress { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password for your Exchange account")]
public string Password { get; set; }
...
}
有人可以提供一个如何正确执行此操作的示例吗?
如果,这是不可能的,我将不得不求助于每次我想避免的每次都向用户询问 PW。当然,对于我使用的支持 OpenID 或 OAuth 的服务,我还有其他选择,但对于这个特定示例(Exchange),我需要一个用户名/密码。
【问题讨论】:
标签: asp.net asp.net-mvc-3