Passwords 在ASP.net MVC模型中,有没有一种方法可以操作属性设置器中的数据?
这篇文章是问我需要什么,但不是很好 基本上我有一个模型“用户” 我希望能够做这样的事情Passwords 在ASP.net MVC模型中,有没有一种方法可以操作属性设置器中的数据?,passwords,asp.net-membership,password-encryption,federated-identity,Passwords,Asp.net Membership,Password Encryption,Federated Identity,这篇文章是问我需要什么,但不是很好 基本上我有一个模型“用户” 我希望能够做这样的事情 Public Class User Public Property ID As Integer Public Property NickName As String Public Property EmailAddress As String Public Property Password As String Get Retur
Public Class User
Public Property ID As Integer
Public Property NickName As String
Public Property EmailAddress As String
Public Property Password As String
Get
Return Password
End Get
Set(value As String)
Password = DoMyHashing(value)
End Set
End Property
End Class
有什么简单的方法可以做到这一点吗
编辑:我已经开始使用BrockAllen.MembershipReboot,它使用联邦身份系统。在我看来,它比会员服务提供商好得多 安全性不应掉以轻心,最好不要重新发明。简单并不一定意味着安全。因此,您可以使用现有的成员资格提供程序,该提供程序已经为您实现了安全性,并且只在数据库中存储哈希版本的密码
如果您不想使用成员资格提供程序,但要实现密码散列,那么在进入编码之前,您可能需要考虑这个问题。
以下是生成密码哈希的安全方法: 储存密码你为什么不使用内置的成员资格提供者呢?他们对我的情况有点过分了。我已经知道如何使用密码哈希,事实上我正在使用PWDTK库来实现这个目的。。。这个答案表明你显然没有理解我的问题。我要问的是,如何在使用模型getter和setter将给定值存储在数据库中之前,自动对该值进行更改。我以前在使用datarows的ASP.NETWebForms中做过这项工作。。在那个例子中,我只是简单地更改了密码设置器,以便在将新值插入数据行之前应用哈希。。。密码只返回哈希密码。您最好在服务层而不是视图模型上实现此功能。您的视图模型应该是简单的POCO对象,不对此类功能负责。同意。将您的模型/实体保持为POCO。您可以始终在用户注册上使用操作过滤器,该过滤器对用户发布的数据进行任何类型的哈希处理,或者更可取的做法是将其放入服务层,如Darin建议的那样。接受为正确答案。我最终选择了VS2012 MVC4和它附带的简单会员资格提供商(在我得到VS2012之前,我不知道这个存在)。。谢谢你的帮助:)
Public Class User
Public Property ID As Integer
Public Property NickName As String
Public Property EmailAddress As String
Public Property Password As String
Get
Return Password
End Get
Set(value As String)
Password = DoMyHashing(value)
End Set
End Property
End Class