我正在开发一个 ASP.Net MVC 4 应用程序。
在我的一个模型中,我有一个密码属性,用于存储访问 Web 服务所需的密码。让这个属性存储明文密码意味着当显示关联视图时,明文密码在 URL 中变得可见,出于安全原因,这是不允许的。
所以我想让属性存储加密的密码,并且只在需要传递给 Web 服务时才解密它。
我面临的问题是我有一个用户可以输入密码的表单。我正在使用 asp.net mvc 4 模板之一(Html.PasswordFor)。为了让用户输入明文密码并让表单接收它,我在这里使用的密码必须是明文。
我需要的是能够在模型中指定两个属性。其中一个使用明文密码,另一个使用加密密码。对于此表单字段,我需要使用明文属性,但我不希望在 URL 中显示明文密码。
我怎样才能防止这种情况?
是否有一些属性可以添加到属性中,告诉 MVC 不要自动将其发送到视图?
我在视图所基于的模型中有一个名为密码的属性,如下所示:
<Required()> _
<Display(Name:="Password")> _
Public Property Password() As String
Get
Return sPassword
End Get
Set(ByVal value As String)
sPassword = value
End Set
End Property