我正在使用实体框架进行项目,并希望它的行为与我的普通ado.net项目类似,我从不从数据库中获取密码哈希,以避免秘密信息的安全泄漏。
我有几点想法
我猜这些解决方案都没有阻止数据离开数据库,只是隐藏字段并返回String.Empty等。 有没有办法不启用该字段,但仍有可能添加新用户或更改忘记密码功能中的哈希值。
答案 0 :(得分:2)
您有几个选择:
对于前两种情况,您需要一个侧通道来更新数据库中的密码 - 可能是一个存储过程。第三个选项应该允许你更新密码,同时保持密码不被日常用户隐藏,但当然它会在内存中,因此精明的用户可能仍然可以访问它。